X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltooling%2Fsignature%2Fimpl%2FSignatureValidator.cpp;h=3dcddb1a8fa1c1c20b0ffa2db89fd5ac3fc7b7a6;hb=a0d768778a8f5f539b909baf5b115e70ea765f0f;hp=667a4393892325f0e58ed2d75f56e0a876185a81;hpb=6505807a62569ce65803b448b07a6872c6af2512;p=shibboleth%2Fcpp-xmltooling.git diff --git a/xmltooling/signature/impl/SignatureValidator.cpp b/xmltooling/signature/impl/SignatureValidator.cpp index 667a439..3dcddb1 100644 --- a/xmltooling/signature/impl/SignatureValidator.cpp +++ b/xmltooling/signature/impl/SignatureValidator.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2001-2007 Internet2 + * Copyright 2001-2010 Internet2 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,8 @@ */ #include "internal.h" +#include "security/Credential.h" +#include "signature/Signature.h" #include "signature/SignatureValidator.h" #include @@ -30,6 +32,30 @@ using namespace xmlsignature; using namespace xmltooling; using namespace std; +SignatureValidator::SignatureValidator(XSECCryptoKey* key) : m_key(key), m_credential(nullptr) +{ +} + +SignatureValidator::SignatureValidator(const Credential* credential) : m_key(nullptr), m_credential(credential) +{ +} + +SignatureValidator::~SignatureValidator() +{ +} + +void SignatureValidator::setKey(XSECCryptoKey* key) +{ + m_key = key; + m_credential = nullptr; +} + +void SignatureValidator::setCredential(const Credential* credential) +{ + m_key = nullptr; + m_credential = credential; +} + void SignatureValidator::validate(const XMLObject* xmlObject) const { const Signature* sigObj=dynamic_cast(xmlObject); @@ -46,7 +72,7 @@ void SignatureValidator::validate(const Signature* sigObj) const else if (!m_key && !m_credential) throw ValidationException("No Credential or key set on Validator."); - XSECCryptoKey* key = m_key ? m_key : (m_credential ? m_credential->getPublicKey() : NULL); + XSECCryptoKey* key = m_key ? m_key : (m_credential ? m_credential->getPublicKey() : nullptr); if (!key) throw ValidationException("Credential did not contain a verification key.");