相关疑难解决方法(0)

为什么WCF抱怨身份检查失败?

我正在创建一个WCF应用程序,我将使用证书来加密客户端和服务器之间的通信.在我的开发环境中,我想使用我使用makecert创建的测试证书/自签名证书.(只有服务器才有证书,客户端不会).

我已将证书安装到证书库中,一切正常.在客户端上,certificateValidationMode当前设置为"false",因为我正在使用测试证书.

我的问题:

在客户端的app.config中,我需要指定identity元素:

<endpoint ... >
   <identity>
      <dns value="<Name-Of-Server-Computer>"/>
   </identity>
</endpoint>
Run Code Online (Sandbox Code Playgroud)

如果我删除标识元素,当我尝试连接到服务器时,我在客户端中收到以下错误消息:

传出消息的身份检查失败.远程端点的预期DNS标识是"localhost",但远程端点提供DNS声明"服务器名称 - 计算机".如果这是合法的远程端点,则可以通过在创建通道代理时明确指定DNS标识"Name-Of-Server-Computer"作为EndpointAddress的Identity属性来解决问题.

所以这是我的问题:

  • 是否仅在使用测试/自签名证书时才进行身份检查?当我使用从CA购买的真实可信证书部署我的应用程序时,是否仍会进行身份检查?

  • 有没有办法禁用身份检查?我知道我可以创建自己的自定义证书验证器,但似乎没有办法使用这些来覆盖身份检查.

dns wcf identity certificate

20
推荐指数
2
解决办法
3万
查看次数

标签 统计

certificate ×1

dns ×1

identity ×1

wcf ×1