我有一个Web应用程序,可以对第三方API进行客户端证书身份验证。该应用程序正在运行,但我想将其移至Azure App Services。
用于客户端身份验证的证书不是从作为受信任的根证书存储的CA颁发的。由于显而易见的原因,Azure不允许将证书添加到App Services中的“受信任的根证书”存储中。
据我所知,客户端的默认行为是,如果无法验证信任链,则不发送客户端证书。在.net中是否有办法覆盖此行为并始终发送证书?
我知道ServicePointManager.ServerCertificateValidationCallback允许您覆盖检查服务器证书,但没有用于验证客户端证书。
答案 0 :(得分:0)
据我所知,我认为你走在正确的轨道上并使用这段代码:
ServicePointManager
.ServerCertificateValidationCallback +=
(sender, cert, chain, sslPolicyErrors) => true;
实际上应该得到你想要的结果吗?由于服务器将验证客户端证书,因此抛出错误,将回调设置为true将覆盖任何错误。我不清楚你是否已经尝试过这个解决方案,听起来你可能已经做过了。