#include "binding/SecurityPolicyRule.h"
#include "saml2/core/Assertions.h"
#include "saml2/metadata/Metadata.h"
+#include "saml2/metadata/MetadataCredentialCriteria.h"
#include "saml2/metadata/MetadataProvider.h"
#include "signature/SignatureProfileValidator.h"
return;
}
- if (!policy.getTrustEngine()->validate(
- *(signable->getSignature()), *(policy.getIssuerMetadata()), policy.getMetadataProvider()->getKeyResolver()
- )) {
+ // Set up criteria object.
+ MetadataCredentialCriteria cc(*(policy.getIssuerMetadata()));
+
+ if (!policy.getTrustEngine()->validate(*(signable->getSignature()), *(policy.getMetadataProvider()), &cc)) {
log.error("unable to verify message signature with supplied trust engine");
if (m_errorsFatal)
throw SignatureException("Message was signed, but signature could not be verified.");