私钥在ADFS2.0响应期间不支持交换KeySpec
-
29-10-2019 - |
题
有这样的问题
我们已经声明知道asp.net网站和为此网站配置的adfs服务器
因此,我们有了-启动Web应用程序-移至adfs服务器进行身份验证,然后又移回网站-结果是我们的服务器页面带有错误的网站网址 通用标签
Windows日志显示这次我们收到了这样的警告-我建议与服务器错误页面中的错误完全相关 通用标签
用户为空且IsAuthenticated= false的部分非常混乱...这是否意味着我们未通过ADFS认证,或者它显示了所请求站点的当前结果
因此,不幸的是,我不是该领域的专家,并且在一周内与之抗争
有人可以帮助我解决问题吗?
非常感谢
解决方案
这里似乎发生的是,您在AD FS中的信赖方信任被配置为使用某些证书(的公共部分)加密其令牌。这样做,您的Web应用程序将尝试使用同一证书的私钥对它们进行解密。
但是,证书需要支持“密钥交换”,并且从您的错误消息中看来,您的证书似乎不需要。我不知道您从何处获得证书,但是如果您要使用 IX509注册,则需要设置 KeySpec 用于 IX509PrivateKey 到 XCN_AT_KEYEXCHANGE 。
您需要做的另一件事是确保证书支持“文档签名”。为此,请确保 IX509ExtensionEnhancedKeyUsage 包含XCN_OID_KP_DOCUMENT_SIGNING或1.3.6.1.4.1.311.10.3.12。
其他提示
您还应该检查寻址证书的(服务)用户在本地计算机上是否具有足够的权限来访问证书。那是我的问题。
不隶属于 StackOverflow