webdevqa.jp.net

VB .net自己署名SSL証明書を受け入れる

VB .Netを使用して自己署名SSL証明書を検証(または検証をバイパス)する方法を探しています。 C#でこれを行うコードを見つけて、VBコードに変換してみましたが、うまくいきません。

これは C#コードです

これが私が試したものです:

Imports System
Imports System.Net
Imports System.Security.Cryptography.X509Certificates

Public Class clsSSL
    Public Function AcceptAllCertifications(ByVal sender As Object, ByVal certification As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal chain As System.Security.Cryptography.X509Certificates.X509Chain, ByVal sslPolicyErrors As System.Net.Security.SslPolicyErrors) As Boolean
        Return True
    End Function
End Class

次に、Webリクエストの前に、エラーが発生する次のコード行があります。

ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications)

エラーメッセージは次のとおりです。

Delegate 'System.Net.Security.RemoteCertificateValidationCallback' requires an 'AddressOf' expression or lambda expression as the only argument to its constructor.
20
compcentral

VB.Netでは、あなたは書く必要があります

ServicePointManager.ServerCertificateValidationCallback = AddressOf AcceptAllCertifications
28
SLaks

一発ギャグ:

System.Net.ServicePointManager.ServerCertificateValidationCallback = _
  Function(se As Object, _
  cert As System.Security.Cryptography.X509Certificates.X509Certificate, _
  chain As System.Security.Cryptography.X509Certificates.X509Chain, _
  sslerror As System.Net.Security.SslPolicyErrors) True

クレジット Robby Tendean

4
MrCalvin

私にはわかりませんが、これはうまくいくはずです:

ServicePointManager.ServerCertificateValidationCallback = _
      New RemoteCertificateValidationCallback(AddressOf AcceptAllCertifications)

http://msdn.Microsoft.com/de-de/library/system.net.security.remotecertificatevalidationcallback%28VS.90%29.aspx

1
Tim Schmelter

VB.Netでは、

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls

安全性の低いアプリの問題を解決します。

0
vidhya