【问题标题】:Certificate authentication with a self-signed certificate使用自签名证书进行证书身份验证
【发布时间】:2011-07-01 18:36:31
【问题描述】:

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

The remote certificate is invalid according to the validation procedure.

我相信这是指服务器的证书无效,但我不确定让客户端信任服务器的最佳方法。 Eventaully,这个 web 服务将安装在许多服务器上,windows 服务也是如此,所以我不能将证书附加到一台计算机上。有什么想法吗?

【问题讨论】:

  • 您使用的是 XML WebServices (.NET 2.0) 还是 WCF?我发现使用 X509 证书的最佳方式是在配置文件中指定策略。

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


【解决方案1】:

我不知道您的具体情况/设置,但这里有一些关于使用自签名证书的一般信息。

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

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

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

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

此外,可能有一些方法可以绕过检查,但您可能不想这样做。

【讨论】:

    猜你喜欢
    • 2023-03-29
    • 2017-03-31
    • 2018-09-30
    • 1970-01-01
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多