我正在使用opensaml对我的SAML进行签名,并且我也能够使用OpenSAML的SignatureValidator成功地验证它。
SignatureValidator signValidator = new SignatureValidator( publicCredential );
signValidator.validate( signature );IdP使用组件空间进行验证,但是他们无法使用相同的SAML和publicCertificate进行验证。
bool retVal = SAMLMessageSignature.Verify(samlResponseXml, x509Certificate);// returning false其中的签名算法是RSASHA1。从他们的日志中,我们可以看到签名的哈希值是不同的。以下是日志:
http://pastebin.com/X27vUtbY
发布于 2016-11-17 13:29:43
正如您所说,计算的散列和预期的散列是不同的,这表明XML在签名后已被修改。我们与OpenSAML之间没有已知的互操作性问题,所以我怀疑这里还存在其他问题。从有限的信息中很难说出问题是什么。我建议SP联系我们,包括完整的SAML日志,我们应该能够解决这个问题。
https://stackoverflow.com/questions/40641164
复制相似问题