ADFS具有看似错误的意外行为。
我的SP使用SHA1哈希算法进行数字签名。 在此SP的ADFS上,我在高级选项卡上设置使用SHA256。
对我而言,这些不相关是正常的,每一方都会选择如何签名。
当我从SP退出时,我确实使用SHA1签名。在ADFS上我得到了例外:
SAML request is not signed with expected signature algorithm. SAML request is signed with signature algorithm http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 . Expected signature algorithm is http://www.w3.org/2000/09/xmldsig#rsa-sha1
我正在使用ADFS 3,Windows R2
答案 0 :(得分:0)
虽然我使用SimpleSAMLphp作为我的SP,但我在注销时遇到了完全相同的错误。希望我的解决方案能够帮助一些人。
我在authsources.php文件中为我的IDP的配置添加了以下行,然后在IDP上重新导入元数据(不确定是否需要该步骤): -
'signature.algorithm' => 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256',
答案 1 :(得分:0)
您需要将ADFS中的签名算法从SHA256更改为SHA1。这将解决异常。
答案 2 :(得分:0)
对于使用Ruby SAML gem的用户,如果无法在ADFS中更改签名算法,则可以像这样设置SAML
设置:
settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA256
希望以后对某人有用!