场景描述
客户端与服务端安装了相应的证书,并且均为SecurityMode采用了编程式配置,如下所示:
运行后,客户端提示如下类似错误:
传出消息标识检查失败。所预期的远程终结点的 DNS 标识为“localhost”,但是远程终结点提供的 DNS 请求为“192168168151service”。如果此远程终结点合法,您可以通过在创建通道代理时明确地将 DNS 标识“192168168151service”指定为 EndpointAddress 的“标识”属性来解决此问题。
原因分析
在服务配置证书后,默认的dns将被替换为证书主题。
解决方案
只能更改客户端的的DnsIdentity值。
本想尝试更改服务端的Identity,发现不会生效。
参考
WCF安全之EndPointIdentity