#include "security/TrustEngine.h"
#include "security/OpenSSLCryptoX509CRL.h"
#include "security/CredentialResolver.h"
+#include "security/KeyInfoResolver.h"
+#include "signature/Signature.h"
#include "soap/SOAP.h"
#include "soap/SOAPTransport.h"
#include "util/NDC.h"
}
log.debug("libcurl %s initialization complete", LIBCURL_VERSION);
- xercesc::XMLPlatformUtils::Initialize();
+ XMLPlatformUtils::Initialize();
log.debug("Xerces initialization complete");
#ifndef XMLTOOLING_NO_XMLSEC
m_parserPool=new ParserPool();
m_validatingPool=new ParserPool(true,true);
- m_lock=xercesc::XMLPlatformUtils::makeMutex();
+ m_lock=XMLPlatformUtils::makeMutex();
// Load catalogs from path.
if (!catalog_path.empty()) {
registerEncryptionClasses();
registerSOAPClasses();
- m_urlEncoder = new URLEncoder();
-
REGISTER_XMLTOOLING_EXCEPTION_FACTORY(XMLParserException,xmltooling);
REGISTER_XMLTOOLING_EXCEPTION_FACTORY(XMLObjectException,xmltooling);
REGISTER_XMLTOOLING_EXCEPTION_FACTORY(MarshallingException,xmltooling);
REGISTER_XMLTOOLING_EXCEPTION_FACTORY(XMLSecurityException,xmltooling);
REGISTER_XMLTOOLING_EXCEPTION_FACTORY(SignatureException,xmlsignature);
REGISTER_XMLTOOLING_EXCEPTION_FACTORY(EncryptionException,xmlencryption);
- registerKeyResolvers();
+ registerKeyInfoResolvers();
registerCredentialResolvers();
registerTrustEngines();
+ registerXMLAlgorithms();
#endif
registerSOAPTransports();
initSOAPTransports();
registerStorageServices();
+ m_urlEncoder = new URLEncoder();
+ m_keyInfoResolver = KeyInfoResolverManager.newPlugin(INLINE_KEYINFO_RESOLVER,NULL);
+
// Register xml:id as an ID attribute.
static const XMLCh xmlid[] = UNICODE_LITERAL_2(i,d);
AttributeExtensibleXMLObject::registerIDAttribute(QName(xmlconstants::XML_NS, xmlid));
#ifndef XMLTOOLING_NO_XMLSEC
TrustEngineManager.deregisterFactories();
CredentialResolverManager.deregisterFactories();
- KeyResolverManager.deregisterFactories();
+ KeyInfoResolverManager.deregisterFactories();
+ m_algorithmMap.clear();
#endif
+ delete m_keyInfoResolver;
+ m_keyInfoResolver = NULL;
+
delete m_replayCache;
m_replayCache = NULL;
XSECPlatformUtils::Terminate();
#endif
- xercesc::XMLPlatformUtils::closeMutex(m_lock);
+ XMLPlatformUtils::closeMutex(m_lock);
m_lock=NULL;
- xercesc::XMLPlatformUtils::Terminate();
+ XMLPlatformUtils::Terminate();
curl_global_cleanup();
{
return new OpenSSLCryptoX509CRL();
}
+
+void XMLToolingInternalConfig::registerXMLAlgorithms()
+{
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIRSA_MD5, "RSA", 0);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIRSA_SHA1, "RSA", 0);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIRSA_SHA224, "RSA", 0);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIRSA_SHA256, "RSA", 0);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIRSA_SHA384, "RSA", 0);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIRSA_SHA512, "RSA", 0);
+
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIRSA_1_5, "RSA", 0);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIRSA_OAEP_MGFP1, "RSA", 0);
+
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIDSA_SHA1, "DSA", 0);
+
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIHMAC_SHA1, "HMAC", 0);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIHMAC_SHA224, "HMAC", 0);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIHMAC_SHA256, "HMAC", 0);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIHMAC_SHA384, "HMAC", 0);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIHMAC_SHA512, "HMAC", 0);
+
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURI3DES_CBC, "DESede", 192);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIKW_3DES, "DESede", 192);
+
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIAES128_CBC, "AES", 128);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIKW_AES128, "AES", 128);
+
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIAES192_CBC, "AES", 192);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIKW_AES192, "AES", 192);
+
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIAES256_CBC, "AES", 256);
+ registerXMLAlgorithm(DSIGConstants::s_unicodeStrURIKW_AES256, "AES", 256);
+}
#endif