sustainsys-saml2 - 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
解决方案
windows 服务器似乎与 SHA-256 不兼容。在证书上尝试了 SHA-16 并且它有效。我绝不建议使用 SHA-16,因为这是一种非常不安全的加密方法并且不应该使用,但我只是强调了在我们非常旧的操作系统上有效的方法。
推荐阅读
- python - Python AsyncIO 中的异步生成器的产量
- python - Python-workfront 无法从搜索中检索值
- java - 从 HDFS 流式传输文件与将其复制到本地磁盘
- excel - 根据数据集在新表中显示单元格
- php - 在webview中将网页从服务器重定向到android
- java - java,txt文件形式输出不正确(简单从控制台输入两个值,输出相加的值)
- git - 致命:无法从 npm 安装新依赖项上的远程存储库读取
- javascript - 如何使图像适合整个 JQuery DataTable 单元格
- powershell - 对文件夹中的每个文件执行的 Powershell 脚本?
- spring - 弹簧方面没有在 getConnection 上被解雇