4

ADFS 具有看起来像错误的意外行为。

我有使用 SHA1 哈希算法进行数字签名的 SP。在此 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

4

3 回答 3

1

您需要将 ADFS 中的签名算法从 SHA256 更改为 SHA1。这将解决异常。

于 2017-03-02T13:15:36.740 回答
0

对于那些使用Ruby SAML gem的人,如果您无法在 ADFS 中更改签名算法,您可以SAML像这样设置设置:

settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA256

我希望这对将来的某人有用!

于 2018-06-21T20:56:23.147 回答
0

当我使用 SimpleSAMLphp 作为我的 SP 时,我在注销时遇到了完全相同的错误。希望我的解决方案能够帮助一些人。

我在 authsources.php 文件中将以下行添加到我的 IDP 的配置中,然后重新导入 IDP 上的元数据(不确定是否需要该步骤):-

'signature.algorithm' => 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256',

于 2017-02-27T11:49:22.097 回答