首页 > 解决方案 > Sustainsys.Saml2.Exceptions.InvalidSignatureException

问题描述

在我的回调 GetExternalLoginAsync 中,返回值始终为 null。所以我将 ILogger 添加到 SP 选项中,并且能够看到 Sustainsys.Saml2.Exceptions.InvalidSignatureException:签名算法http://www.w3.org/2001/04/xmldsig-more#rsa-sha256比最低接受http://www.w3.org/2000/09/xmldsig#rsa-sha1。如果要允许此签名算法,请使用 minIncomingSigningAlgorithm 配置属性。被抛出。

我按照建议添加了 minIncomingSigningAlgorithm="SHA256" 但是现在我遇到了黄屏错误。

问题发生在 Windows 2008 R2 服务器上。它在我们所有其他服务器上运行良好,所以我假设它与操作系统有关。

我最近在此框中安装了 .NET 4.6.1。

        var loginInfo = await HttpContext.GetOwinContext().Authentication.GetExternalLoginInfoAsync(); //always null

标签: sustainsys-saml2

解决方案


windows 服务器似乎与 SHA-256 不兼容。在证书上尝试了 SHA-16 并且它有效。我绝不建议使用 SHA-16,因为这是一种非常不安全的加密方法并且不应该使用,但我只是强调了在我们非常旧的操作系统上有效的方法。


推荐阅读