2015-07-10 171 views
0

我收到错误:在本地开发计算机上请求URL时,根据验证过程,远程证书无效。我已经看过here根据使用自签名证书的验证程序,远程证书无效

但我不能找到这个C#代码的VB.NET代码:

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

OR

// 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,但那些失败。

回答

1

而不是仅仅翻译,让我们首先确定该行所做的

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

MSDN文档说,ServerCertificateValidationCallback是类型的属性RemoteCertificateValidationCallback

RemoteCertificateValidationCallback是与此签名

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

This (o, c, ch, er) => true;是一个带签名RemoteCertificateVa的lamba表达式lidationCallback并始终评估为真。

为了做相同的VB.NET是

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

This article will help和你在第二部分,但它是同样的想法。

相关问题