0

我们在生产中存在 SAML 签名验证问题。直到今天早上一切都很好。我们收到以下错误:

“无法验证 SAML 断言签名”

经过一番挖掘,我们发现一些 SSO 请求失败了 SAMLAssertionSignature.Verify()

X509 证书作为消息的一部分发送。它们在成功和失败场景之间完全相同。

我们得到的例外是

ComponentSpace.SAML2.Exceptions.SAMLSignatureException:无法验证 XML 签名。---> System.Security.Cryptography.CryptographicException:找不到对象

昨天和今天之间唯一发生的事情是安装 Windows 更新。

这可能与此有关吗?以前有人遇到过这个问题吗?

4

1 回答 1

0

我们解决了这个问题。感谢 ComponentSpace 的快速响应。bartonjs,您对所有 3 的猜测都是正确的。.Net 4.6.2 的 Windows 更新开始了这个问题。我们不得不回滚更新。尽管 ComponentSpace 的响应和他们的建议很快,但我们无法立即尝试,因为我们必须等待维护窗口。我们昨晚尝试了以下方法,它奏效了

  1. 为应用程序池帐户创建用户配置文件。我们使用从未登录该框的域用户设置它。因此,必须生成该配置文件。
  2. 将 IIS 设置“加载用户配置文件”更新为 True。
  3. 为 .Net 4.6.2 安装了我们之前回滚的 Windows 更新。

现在一切正常。

仅供参考:导致此问题的更新是

  1. Microsoft .NET Framework 4.6.2 更新 (KB3205379)
  2. Microsoft .NET Framework 4.6.2 的安全更新 (KB3204805)

谢谢您的帮助。

于 2017-03-15T02:53:19.210 回答