我创建,我将使用证书来加密客户端和服务器之间的通信WCF应用程序。 在我的开发环境,我想用我已经使用makecert创建了一个测试证书/自签名证书。 (只有服务器将有一个证书,客户端将不会)。
我已经安装了证书导入证书存储区,和一切工作正常。 在客户端,certificateValidationMode当前被设定为“假”,因为我有一个测试证书工作。
我的问题:
在客户端上的app.config中,我需要指定的标识元素,因为这:
<endpoint ... >
<identity>
<dns value="<Name-Of-Server-Computer>"/>
</identity>
</endpoint>
如果我删除标识元素,我得到当我尝试连接到服务器的客户端出现以下错误信息:
身份确认失败传出消息。 远程端点的预期DNS身份“localhost”的,但远程端点提供的DNS要求“名称-OF-Server的计算机”。 如果这是一个合法的远程端点,您可以通过显式指定DNS身份“名称-OF-Server的计算机”为的EndpointAddress的标识属性创建通道代理时解决问题。
因此,这里是我的问题:
是身份检查使用测试/自签名证书时仅做了什么? 当我使用从CA购买一个真实的,可信的,证书部署应用,将身份检查仍然进行?
有没有一种方法来禁用身份检查? 我知道我可以创建自己的自定义证书验证,但似乎没有要覆盖使用这些身份检查的方式。