2010-08-10 73 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