Ban*_*hee 2 c# ssl certificate
我有以下 C# 客户端代码来检查 SSL 通信中的传入证书(使用 WCF):
private bool ValidateClientCertificate(System.Security.Cryptography.X509Certificates.X509Certificate cert, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors)
    {
        _certificateValid = sslPolicyErrors == System.Net.Security.SslPolicyErrors.None ? true : false;
        return true;
    }
进入该方法时,我可以看到 sslPolicyErrors 设置为RemoteCertificateNameMismatch?
我已经创建了这样的服务器证书:
因为 MyCert 服务服务器 1 的请求是在服务器 1 上创建的,它也安装了它,所以我应该不会收到 SSL 错误,对吧?是否有任何属性或需要在针对服务器 1 进行验证的功能证书上设置的内容?
据我了解,名称不必与服务器相同?
编辑:我创建了一个新的功能证书并将 CN 设置为服务器本身的 DNS 名称。每台客户端计算机都有一个主机文件,该文件将该 CN 名称指向服务器的特定 IP。但是,我仍然在 ValidateClientCertificate 方法中遇到相同的 SSL 策略错误?证书上究竟需要什么设置才能通过验证?
尝试使用客户端正在调用的服务器的 DNS 名称填充证书上的“主题备用名称”字段。
当客户端系统向服务器发出请求(即“ https://myserver.com:443/someaction ”)并且需要通用名称或主题备用名称字段中的值之一时,会发生此错误,看起来像“myserver.com”
如果这没有帮助,请尝试将以下信息添加到您的问题中: - WCF 客户端正在调用的 URL - 服务器上证书的通用名称值
| 归档时间: | 
 | 
| 查看次数: | 5180 次 | 
| 最近记录: |