检查自签名证书(SSL,C#)

在我的桌面应用程序中,我使用HTTPS连接。 证书是自签名的。 我如何以编程方式检查 c#中的自签名证书?

我使ia回调“ValidateRemoteCertificate”:

ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate) 

默认情况下,我的“ValidateRemoteCertificate”方法始终返回TRUE。 但我认为我需要检查此证书的有效或无效。 怎么检查? 我必须在“ValidateRemoteCertificate”中查看什么?

由于您已经实现了回调,因此您知道回调委托的签名

 public delegate bool RemoteCertificateValidationCallback( Object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) 

如果我理解正确,客户端没有在他的商店安装证书,对吗? 虽然我建议您按顺序获取基础架构并部署有效证书,但在您的情况下,您可以将证书的哈希/指纹与存储在应用程序中的值进行比较,以validation证书的有效性。