我有一个SAML 2响应,其中一个断言被签名了,响应本身也再次签名了。我使用下面的代码验证响应的签名配置文件。
SAMLSignatureProfileValidator signatureProfileValidator = new SAMLSignatureProfileValidator();
signatureProfileValidator.validate(response.getSignature());和下面的代码块来验证签名。
SignatureValidator signatureValidator = new SignatureValidator(validatingCredential);
signatureValidator.validate(response.getSignature());但我认为这些东西只验证响应签名和响应签名配置文件。,我也需要验证断言签名吗?,我已经尝试过使用下面的代码块验证断言签名。但是它给了我ValidationException,这意味着它是无效的。但它应该是。
SignatureValidator signatureValidator = new SignatureValidator(validatingCredential);
signatureValidator.validate(assertion.getSignature());发布于 2014-08-13 15:29:24
为了符合规范(如果我正在正确地阅读规范),您确实需要验证这两个签名。我相信SAML2.0Profiles文档说在处理SAMLResponse时,SP必须“验证存在的任何签名”。请参阅SAML2.0概要文件文档中的4.1.4.3条消息处理规则。
https://stackoverflow.com/questions/25260021
复制相似问题