有人可以描述或(最好)参考.NET框架如何验证域证书吗?
我正在尝试连接到配置了具有证书传输安全性的 BasicHttpBinding 的 WCF 服务。服务在机器 1 上,客户端在机器 2 上。两台机器都加入了域。服务证书由域的证书颁发机构颁发。但是,当客户端(在我的例子中为 Visual Studio 添加服务引用向导)与服务协商时,它会弹出一条警告消息,其中包含证书不受信任的三个可能原因:
- 公司颁发的安全证书不在不信任列表中。它可能是值得信赖的。
- 安全证书日期有效。
- 主机“管理员”的安全证书与您尝试查看的页面名称不匹配。(警告!!)
但我在问原因1,为什么?
另一方面,如果我使用 WcfTestClient,它会弹出以下错误:
URI: https://ip:port/svc
Metadata contains a reference that cannot be resolved: 'https://ip:port/svc'.
Could not establish trust relationship for the SSL/TLS secure channel with authority 'ip:port'.
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
The remote certificate is invalid according to the validation procedure.HTTP GET Error.
URI: https://ip:port/svc
There was an error downloading 'https://ip:port/svc'.
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
The remote certificate is invalid according to the validation procedure.
那么有人可以告诉我这里发生了什么吗?服务证书如何验证?请不要告诉我写一个 PermissivePolicy 来覆盖默认程序?