【问题标题】:Check self-signed certificate (SSL, C#)检查自签名证书(SSL、C#)
【发布时间】:2011-09-20 12:42:01
【问题描述】:

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

我给我一个回调“ValidateRemoteCertificate”:

 ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate)

默认情况下,我的“ValidateRemoteCertificate”方法总是返回 TRUE。 但我认为我需要检查此证书是否有效。 如何检查?我必须在“ValidateRemoteCertificate”中检查什么?

【问题讨论】:

    标签: c# ssl https


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-24
      • 2015-03-11
      • 2020-10-25
      • 2015-09-13
      • 1970-01-01
      相关资源
      最近更新 更多