X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-xmltooling.git;a=blobdiff_plain;f=xmltooling%2Fsecurity%2Fimpl%2FChainingTrustEngine.cpp;h=1834aabeccb211686e84ab03a5837ec06c8fb423;hp=41e04b17685584115834f5307f4787118f1d55a2;hb=6505807a62569ce65803b448b07a6872c6af2512;hpb=e4d3ad9286b650c25c50b1b2226d1fda5e15f6a3 diff --git a/xmltooling/security/impl/ChainingTrustEngine.cpp b/xmltooling/security/impl/ChainingTrustEngine.cpp index 41e04b1..1834aab 100644 --- a/xmltooling/security/impl/ChainingTrustEngine.cpp +++ b/xmltooling/security/impl/ChainingTrustEngine.cpp @@ -23,6 +23,7 @@ #include "internal.h" #include "exceptions.h" #include "security/ChainingTrustEngine.h" +#include "util/XMLHelper.h" #include #include @@ -65,14 +66,10 @@ ChainingTrustEngine::~ChainingTrustEngine() { for_each(m_engines.begin(), m_engines.end(), xmltooling::cleanup()); } -bool ChainingTrustEngine::validate( - Signature& sig, - const KeyInfoSource& keyInfoSource, - const KeyResolver* keyResolver - ) const +bool ChainingTrustEngine::validate(Signature& sig, const CredentialResolver& credResolver, CredentialCriteria* criteria) const { for (vector::const_iterator i=m_engines.begin(); i!=m_engines.end(); ++i) { - if ((*i)->validate(sig,keyInfoSource,keyResolver)) + if ((*i)->validate(sig,credResolver,criteria)) return true; } return false; @@ -84,12 +81,12 @@ bool ChainingTrustEngine::validate( KeyInfo* keyInfo, const char* in, unsigned int in_len, - const KeyInfoSource& keyInfoSource, - const KeyResolver* keyResolver + const CredentialResolver& credResolver, + CredentialCriteria* criteria ) const { for (vector::const_iterator i=m_engines.begin(); i!=m_engines.end(); ++i) { - if ((*i)->validate(sigAlgorithm, sig, keyInfo, in, in_len, keyInfoSource, keyResolver)) + if ((*i)->validate(sigAlgorithm, sig, keyInfo, in, in_len, credResolver, criteria)) return true; } return false; @@ -98,15 +95,14 @@ bool ChainingTrustEngine::validate( bool ChainingTrustEngine::validate( XSECCryptoX509* certEE, const vector& certChain, - const KeyInfoSource& keyInfoSource, - bool checkName, - const KeyResolver* keyResolver + const CredentialResolver& credResolver, + CredentialCriteria* criteria ) const { X509TrustEngine* down; for (vector::const_iterator i=m_engines.begin(); i!=m_engines.end(); ++i) { if ((down = dynamic_cast(*i)) && - down->validate(certEE,certChain,keyInfoSource,checkName,keyResolver)) + down->validate(certEE,certChain,credResolver,criteria)) return true; } return false; @@ -115,15 +111,13 @@ bool ChainingTrustEngine::validate( bool ChainingTrustEngine::validate( X509* certEE, STACK_OF(X509)* certChain, - const KeyInfoSource& keyInfoSource, - bool checkName, - const KeyResolver* keyResolver + const CredentialResolver& credResolver, + CredentialCriteria* criteria ) const { OpenSSLTrustEngine* down; for (vector::const_iterator i=m_engines.begin(); i!=m_engines.end(); ++i) { - if ((down = dynamic_cast(*i)) && - down->validate(certEE,certChain,keyInfoSource,checkName,keyResolver)) + if ((down = dynamic_cast(*i)) && down->validate(certEE,certChain,credResolver,criteria)) return true; } return false;