【问题标题】:Using Client Certificate to get SOAP server WSDL file使用客户端证书获取 SOAP 服务器 WSDL 文件
【发布时间】:2017-02-10 15:09:25
【问题描述】:

我是 SSl 和 WCF 的新手。我一直在尝试解决这个问题,并且我阅读了我可以在 Stack Overflow 上找到的所有相关问题。有谁知道我做错了什么?

我目前正在为使用 SSL 客户端证书进行身份验证的 SOAP 服务器编写客户端。我正在尝试访问 WSDL 文件以为我的客户端生成代理。但是,我一直有“请求被中止:无法创建 SSL/TLS 安全通道。”当我尝试访问该文件时。

这是我做的步骤:

  1. 使用以下命令创建了根 CA 证书: makecert -n "CN=RootCATest" -r -sv RootCATest.pvk RootCATest.cer

  2. 使用 MMC 在我的机器上安装了根 CA 证书

  3. 使用创建和安装临时服务证书: makecert -sk MyKeyName -iv RootCATest.pvk -n "CN=tempCert" -ic RootCATest.cer -sr localmachine -ss my -sky exchange -pe

  4. 我将“tempCert.cer”文件发送给在服务器上安装它的服务器所有者

之后我仍然无法访问 serverUrl.com/services/info?wsdl

谁能帮我解决这个问题?

编辑:

我只拥有客户。服务器由其他人托管,我不知道那里使用了什么技术。他们向我提供了他们的 wsdl 文件的 url,并要求我给他们一个证书以进行客户端身份验证。他们在服务器上安装了该证书。

我想使用“添加服务引用”或 SvcUtil.exe 生成带有配置的代理(然后将我的证书添加到配置中)。但为此我需要访问 WSDL 文件。

我想知道我是否向他们发送了正确的证书?我是否应该发送用于创建证书的自签名根 CA 证书?

谢谢

【问题讨论】:

  • 您能否添加更多详细信息,例如,您是否同时拥有客户端和服务?您在哪里托管您的服务(自托管、iis、windows 服务)?您能否发布有关如何从商店访问证书的配置?
  • 在实施 ssl 之前,您的服务是否正常工作?
  • 我编辑了我的问题。希望它能回答你的问题。感谢您的帮助,非常感谢
  • hmm,首先拥有服务器的人应该将证书提供给客户端,而不是客户端。客户端将认证授予服务器/服务的原因是什么?如果是产品,请向证书颁发机构购买合法证书。主要问题是安全风险。
  • 好的。我会询问服务器团队是否可以提供证书。谢谢!

标签: asp.net wcf ssl soap wsdl


【解决方案1】:

实际上,我唯一缺少的步骤是将根 CA 证书也发送到他们的服务器。一旦将其安装在他们的服务器上,我的自行生成的证书就会正确验证。这对于生产来说不是一个好的解决方案,但它在开发过程中运行良好。

【讨论】:

    猜你喜欢
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 2014-09-05
    • 2014-05-04
    • 1970-01-01
    • 2014-12-30
    相关资源
    最近更新 更多