2011-07-01 228 views
2

我有一個客戶端應用程序(Windows服務)向Web服務發送請求(WebClient.UploadString())。我通過IIS創建了一個證書。我在發送請求之前附加到WebClient。不過,我得到以下信息:使用自簽名證書進行證書認證

The remote certificate is invalid according to the validation procedure. 

我相信這是指具有無效證書的服務器,但我不確定,使客戶信任的服務器的最佳方式。事實上,這個Web服務將被安裝在多個服務器上,就像Windows服務一樣,所以我不能將證書附加到一臺計算機上。有任何想法嗎?

+1

您使用XML Web服務(.NET 2.0)或WCF嗎?我發現使用X509證書的最佳方式是在配置文件中指定您的策略。 – jonnyb

回答

2

我不知道您的具體情況/設置,但這裏是關於使用自簽名證書的一些一般信息。

如果要使用自簽名證書,則需要將該證書添加到服務器的可信根證書存儲區。

基本上,服務器不信任用於簽署證書的證書,這是證書本身,因爲它是自簽名的。

作爲替代方案,您可以創建自己的根證書並將其添加到服務器的受信任根,然後使用它來簽署其他客戶端證書。這將使它更容易,因爲您不必在服務器上安裝每個客戶端證書,而只需要在根用戶證書上進行簽名。

當然,您可以隨時從公司購買證書(GoDaddy,Verisign等)。這些將由已被信任的證書籤署。

另外,可能有辦法繞過檢查,但你可能不想這樣做。