我正在使用HTTPWebRequest
访问需要客户端证书的页面!
我正在使用以下代码,一切正常!
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(textBox1.Text);
X509Certificate2 userCert = SelectClientCertificate();
if (userCert != null) myReq.ClientCertificates.Add(userCert);
HttpWebResponse myResp = (HttpWebResponse)myReq.GetResponse();
现在这是我的问题,因为我的调用SelectClientCertificate()
显示了一个让用户选择证书的对话框,如果服务器不要求客户端身份验证,我不想显示对话框!实际上,我正在寻找 Internet Explorer 的行为主义。如果访问服务器需要用户客户端身份验证的页面,您会看到证书选择对话框,否则不会显示!
我看了看,AuthenticationManager
但我不确定我是否真的需要注册自己的 AuthenticationModule!所以对我有什么暗示吗?
我还检查了StatusCode
403 或 403.7 但我现在正在使用的服务器,如果缺少证书,也会返回 200,内容说我没有被授权!