覆盖客户端证书身份验证验证

时间:2016-05-19 06:49:53

标签: c# asp.net .net azure azure-web-sites

我有一个Web应用程序,可以对第三方API进行客户端证书身份验证。该应用程序正在运行,但我想将其移至Azure App Services。

用于客户端身份验证的证书不是从作为受信任的根证书存储的CA颁发的。由于显而易见的原因,Azure不允许将证书添加到App Services中的“受信任的根证书”存储中。

据我所知,客户端的默认行为是,如果无法验证信任链,则不发送客户端证书。在.net中是否有办法覆盖此行为并始终发送证书?

我知道ServicePointManager.ServerCertificateValidationCallback允许您覆盖检查服务器证书,但没有用于验证客户端证书。

1 个答案:

答案 0 :(得分:0)

据我所知,我认为你走在正确的轨道上并使用这段代码:

ServicePointManager
.ServerCertificateValidationCallback += 
(sender, cert, chain, sslPolicyErrors) => true;

实际上应该得到你想要的结果吗?由于服务器将验证客户端证书,因此抛出错误,将回调设置为true将覆盖任何错误。我不清楚你是否已经尝试过这个解决方案,听起来你可能已经做过了。