Allow sig validator to use a specific key.
authorcantor <cantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Mon, 21 Aug 2006 17:02:42 +0000 (17:02 +0000)
committercantor <cantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Mon, 21 Aug 2006 17:02:42 +0000 (17:02 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/trunk@152 de75baf8-a10c-0410-a50a-987c0e22f00f

.cdtproject
.project
xmltooling/security/TrustEngine.h
xmltooling/security/X509TrustEngine.h
xmltooling/signature/impl/SignatureValidator.cpp

index 2882d5e..b9e02ab 100644 (file)
@@ -60,7 +60,7 @@
 <pathentry kind="mac" name="WIN32" path="" value=""/>\r
 <pathentry kind="out" path=""/>\r
 <pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>\r
-<pathentry excluding="util/|io/|impl/|validation/|signature/|signature/impl/|encryption/|encryption/impl/" kind="src" path="xmltooling"/>\r
+<pathentry excluding="util/|io/|impl/|validation/|signature/|signature/impl/|encryption/|encryption/impl/|security/|security/impl/" kind="src" path="xmltooling"/>\r
 <pathentry kind="src" path="xmltooling/util"/>\r
 <pathentry kind="src" path="xmltooling/io"/>\r
 <pathentry kind="src" path="xmltooling/impl"/>\r
@@ -70,6 +70,8 @@
 <pathentry kind="src" path="xmltooling/signature/impl"/>\r
 <pathentry excluding="impl/" kind="src" path="xmltooling/encryption"/>\r
 <pathentry kind="src" path="xmltooling/encryption/impl"/>\r
+<pathentry excluding="impl/" kind="src" path="xmltooling/security"/>\r
+<pathentry kind="src" path="xmltooling/security/impl"/>\r
 </item>\r
 </data>\r
 </cdtproject>\r
index 9f5002e..573a04f 100644 (file)
--- a/.project
+++ b/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
 <projectDescription>\r
-       <name>XMLTooling-C</name>\r
+       <name>cpp-xmltooling</name>\r
        <comment></comment>\r
        <projects>\r
        </projects>\r
index e07d062..d661197 100644 (file)
@@ -15,7 +15,7 @@
  */\r
 \r
 /**\r
- * @file security/TrustEngine.h\r
+ * @file xmltooling/security/TrustEngine.h\r
  * \r
  * Evaluates the trustworthiness and validity of XML Signatures against\r
  * implementation-specific requirements.\r
index b36ff8f..a771af5 100644 (file)
@@ -15,7 +15,7 @@
  */\r
 \r
 /**\r
- * @file security/X509TrustEngine.h\r
+ * @file xmltooling/security/X509TrustEngine.h\r
  * \r
  * Extended TrustEngine interface that adds validation of X.509 credentials.\r
  */\r
index ab41546..ac65a40 100644 (file)
@@ -43,11 +43,11 @@ void SignatureValidator::validate(const Signature* sigObj) const
     DSIGSignature* sig=sigObj->getXMLSignature();\r
     if (!sig)\r
         throw ValidationException("Signature does not exist yet.");\r
-    else if (!m_resolver)\r
-        throw ValidationException("No KeyResolver set on Validator.");\r
+    else if (!m_key && !m_resolver)\r
+        throw ValidationException("No KeyResolver or signing key set on Validator.");\r
 \r
     try {\r
-        XSECCryptoKey* key=m_resolver->resolveKey(sig->getKeyInfoList());\r
+        XSECCryptoKey* key = m_key ? m_key->clone() : m_resolver->resolveKey(sig->getKeyInfoList());\r
         if (!key)\r
             throw ValidationException("Unable to resolve signing key.");\r
         sig->setSigningKey(key);\r