【发布时间】:2012-02-15 13:37:58
【问题描述】:
我正在使用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,内容说我没有被授权!
【问题讨论】:
-
您好,您找到解决此问题的方法了吗?
-
您好,如果您有解决方案,我也对解决方案感兴趣。
-
我也有同样的问题。
标签: c# .net httpwebrequest http-authentication client-certificates