6

我遇到了通过证书进行身份验证的 WCF 服务的问题。我得到的错误是外发消息的身份检查失败。远程端点的预期 DNS 身份是 xxx....

我看过很多关于这个的帖子,他们都说将 dns 设置为证书的名称/主题。

<identity>
                    <dns value="WcfServer" />
                </identity>

我已经尝试过了,但它不起作用,我还能做什么?

卢克

4

2 回答 2

2

DNS 名称应与证书的通用名称 (CN) 匹配。

请参阅其他类似的线程。 为什么 WCF 会抱怨身份检查失败?

于 2014-05-21T19:57:21.690 回答
1

您可以检查服务的 WSDL 文件。它会在元素下向您显示服务所期望的身份。例如,像这样,

<wsdl:service name="CalculatorService">
  <wsdl:port name="WSHttpBinding_ICalculator_Windows"
    binding="tns:WSHttpBinding_ICalculator_Windows">
    <soap12:address 
      location=
      "http://localhost:8003/servicemodelsamples/service/upnidentity" />
    <wsa10:EndpointReference>
      <wsa10:Address>
        http://localhost:8003/servicemodelsamples/service/upnidentity
      </wsa10:Address>
      <Identity  
        xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
        <Upn>username@contoso.com</Upn>
      </Identity>
    </wsa10:EndpointReference>
  </wsdl:port>
</wsdl:service>

根据服务选择的身份,您可以在客户端端点中设置它。

HTH,阿米特

于 2012-10-18T18:04:54.007 回答