我们是IDP,我们使用openSAML 3.2库实现了SAML 2。我们正在与一个SP集成,如果我们对断言签名并禁用了我们的加密功能,它将可以正常工作。如果我们启用加密,则加密将失败,并出现以下错误之一:
签名和加密声明-由于无效的数字签名(23)而失败
加密断言并签名整个响应-失败,并显示无效的数字签名(23)
对声明进行加密和加密,并对整个响应进行签名-失败,并显示无效的数字签名(23)
签名消息(不加密)-SAML断言是未签名的(20)
签名声明(不加密)-成功
以前有人遇到过这个问题吗?任何指针将不胜感激。
答案 0 :(得分:0)
最后,我们能够解决此问题。发布答案可能会帮助其他可能会遇到此问题的人。
在签署断言时,我们必须将CanonicalizationMethod设置为'CanonicalizationMethod.EXCLUSIVE'