2010-08-10 98 views
2

我试图从Http处理程序发送一个X509Certificate到将接收和读取证书以验证用户的Web服务。我知道证书发送正常。我有一个测试人员,在发送之前让我看看HttpWebRequest,而ClientCertificates属性显示它附带了证书。 (例如request.ClientCertificates.Count = 1)。在Web请求中接收X509客户端证书

但是,在Web服务的另一端,HttpRequest.ClientCertificate始终显示为NULL。我查看了许多Microsoft KB示例,并且它们都使用相同的技术来插入证书。其他无关的文章显示,HttpRequest.ClientCertificate是阅读它的首选方式。

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

回答

1

也许配置你的HttpListenerclientcertnegotiation=enablenetsh会帮助(这使服务器在初始握手期间协商客户端证书,而不是使用重新协商)。

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