使用自签名证书进行证书身份验证

时间:2011-07-01 18:36:32

标签: c# web-services authentication webclient ssl-certificate

我有一个客户端应用程序(Windows服务),它向Web服务发送请求(WebClient.UploadString())。我通过IIS创建了一个证书。我在发送请求之前附加到WebClient。但是,我收到以下消息:

The remote certificate is invalid according to the validation procedure.

我认为这是指服务器证书无效,但我不确定让客户端信任服务器的最佳方法。事实上,这个Web服务将安装在许多服务器上,Windows服务也是如此,因此我无法将证书附加到一台计算机上。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我不知道您的具体情况/设置,但以下是使用自签名证书的一般信息。

如果要使用自签名证书,则需要将该证书添加到服务器的受信任根证书存储区。

基本上,服务器不信任用于签署证书的证书,证书本身就是证书,因为它是自签名的。

作为替代方法,您可以创建自己的根证书并将其添加到服务器的受信任根,然后使用它来签署其他客户端证书。这将使您更容易,因为您不必在服务器上安装每个客户端证书,只需要用于签名的根证书。

当然,您可以随时从公司(GoDaddy,Verisign等)购买证书。这些将由已经信任的证书签名。

此外,可能有办法绕过检查,但您可能不想这样做。