【问题标题】:The remote certificate is invalid according to the validation procedure with self-signed certificate根据自签名证书的验证程序,远程证书无效
【发布时间】:2015-07-10 03:20:50
【问题描述】:

在我的本地开发机器上请求 URL 时,我收到错误消息“根据验证过程,远程证书无效。

我已经看过here

但我找不到此 C# 代码的 VB.NET 代码:

ServicePointManager.ServerCertificateValidationCallback += (o, c, ch, er) => true;

// Put this somewhere that is only once - like an initialization method
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateCertificate);
...

static bool ValidateCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
   return true;
}

有人可以帮我翻译这段代码吗?我尝试了转换器 converter.telerik.com 和 carlosag.net,但都失败了。

【问题讨论】:

    标签: c# vb.net ssl translation self-signed


    【解决方案1】:

    我们先确定这一行的作用,而不是仅仅翻译

     ServicePointManager.ServerCertificateValidationCallback += (o, c, ch, er) => true;
    

    MSDN 文档说ServerCertificateValidationCallbackRemoteCertificateValidationCallback 类型的属性

    RemoteCertificateValidationCallback 是具有此签名的委托

    'Declaration
    Public Delegate Function RemoteCertificateValidationCallback ( _
        sender As Object, _
        certificate As X509Certificate, _
        chain As X509Chain, _
        sslPolicyErrors As SslPolicyErrors _
    ) As Boolean
    

    这个(o, c, ch, er) => true; 是一个带有签名RemoteCertificateValidationCallback 的lamba 表达式,并且总是评估为真。

    要在 VB.NET 中做同样的事情

    ServicePointManager.ServerCertificateValidationCallback = Function(o,c,ch,er) (true)
    

    This article will help你会用第二部分,但它的想法是一样的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-28
      • 2016-11-28
      • 2016-12-12
      • 2013-08-08
      • 2012-07-20
      • 2015-03-17
      相关资源
      最近更新 更多