Web服务客户端的SSL证书

时间:2014-01-30 17:33:15

标签: ssl windows-services windows-server-2008

我正在尝试创建一个Web服务客户端来连接到Web服务,我已经获得了一个关于如何连接到我使用Google翻译翻译的Web服务的非英文文档(我知道这是个坏主意,我问过一个说这种语言的人,也是一个开发人员为我翻译它,但我等着他回到我身边。 “使用双面SSL连接”确保连接。

我应该获得一个SSL证书(两个实际上是一个用于测试,一个用于prod)并向他们发送公共密钥。他们给我发了他们的公钥。

我计划从Windows服务调用他们的Web服务。那么我在为什么生成我的SSL证书呢?如果它是一个网站,那将是mywebsite.mydomain.com,但这适用于Windows服务。

我很遗憾为什么双方都需要SSL证书,但这可能是一个不同的问题。

1 个答案:

答案 0 :(得分:1)

服务器端需要证书。您可以使用自生成证书。副作用是浏览器会说服务器没有被破坏。因此,如果您需要摆脱不可信任的错误,则需要从证书颁发机构购买有效证书。

在客户端,只有当您想通过证书登录客户端时才需要证书。客户端登录还有其他方法。 但是,如果您坚持使用客户端X509证书,请不要忘记更改您的应用程序(或您的服务)web.config。在Visual Studio中,它总是在没有安全性的情况下自动生成webservice调用,因此您需要添加或更改customBinding以包含httpsTransport标记,如下所示。

<bindings>
  <customBinding>
      <binding name="MYWEBBINDING">
          <textMessageEncoding messageVersion="Soap12" />
          <httpsTransport authenticationScheme="Digest" requireClientCertificate="true" />
      </binding>
  </customBinding>

并在客户端部分

中引用它
<client>
  <endpoint address="https://WEBSERVICESERVER/WEBSERVICE/WEBSERVICE.asmx"
    binding="MYWEBBINDING" bindingConfiguration="WEBSERVICESoap"
    contract="WEBSVCPROXY.WEBSERVICESoap" name="WEBSERVICESoap" />
</client>