我有一个客户端应用程序(Windows服务),它向Web服务发送请求(WebClient.UploadString())。我通过IIS创建了一个证书。我在发送请求之前附加到WebClient。但是,我收到以下消息:
The remote certificate is invalid according to the validation procedure.
我认为这是指服务器证书无效,但我不确定让客户端信任服务器的最佳方法。事实上,这个Web服务将安装在许多服务器上,Windows服务也是如此,因此我无法将证书附加到一台计算机上。有什么想法吗?
答案 0 :(得分:2)
我不知道您的具体情况/设置,但以下是使用自签名证书的一般信息。
如果要使用自签名证书,则需要将该证书添加到服务器的受信任根证书存储区。
基本上,服务器不信任用于签署证书的证书,证书本身就是证书,因为它是自签名的。
作为替代方法,您可以创建自己的根证书并将其添加到服务器的受信任根,然后使用它来签署其他客户端证书。这将使您更容易,因为您不必在服务器上安装每个客户端证书,只需要用于签名的根证书。
当然,您可以随时从公司(GoDaddy,Verisign等)购买证书。这些将由已经信任的证书签名。
此外,可能有办法绕过检查,但您可能不想这样做。