在Web请求中接收X509客户端证书

时间:2010-08-10 15:57:34

标签: c# httpwebrequest httprequest x509certificate

我正在尝试将Http Handler中的X509Certificate发送到Web服务,该服务将接收并读取证书以对用户进行身份验证。我知道证书送的很好;我有一个测试人员让我在发送前查看HttpWebRequestClientCertificates属性显示它附有证书。 (例如request.ClientCertificates.Count = 1)。

但是,在网络服务的另一面,HttpRequest.ClientCertificate始终显示NULL。我查看了许多Microsoft KB示例,并且所有这些示例都使用相同的技术来插入证书。其他不相关的文章表明,HttpRequest.ClientCertificate是阅读它的首选方式。

那么我做错了什么,如何在服务器上确定是否发送了客户端证书?

1 个答案:

答案 0 :(得分:1)

使用HttpListenernetsh配置clientcertnegotiation=enable可能会有所帮助(这会使服务器在初始握手期间协商客户端证书,而不是使用重新协商)。< / p>

这可能还取决于您是否使用私钥在客户端初始化证书,请参阅Can't connect to HTTPS using X509 client certificate

相关问题