Dot-Net

接受 VB.NET 中的自簽名 TLS/SSL 證書

  • May 13, 2011

我正在尋找一種使用 VB.NET 驗證(或繞過驗證)自簽名 SSL 證書的方法。我在 C# 中找到了執行此操作的程式碼並嘗試將其轉換為 VB 程式碼,但我沒有任何運氣。

這是 C# 程式碼:如何使用 WebRequest 訪問使用 https 的 SSL 加密站點?

這是我嘗試過的:

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

然後在WebRequest我有這行程式碼之前給我一個錯誤。

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

錯誤資訊是:

委託“System.Net.Security.RemoteCertificateValidationCallback”需要一個“AddressOf”表達式或 lambda 表達式作為其建構子的唯一參數。

在 VB.Net 中,您需要編寫

ServicePointManager.ServerCertificateValidationCallback = AddressOf AcceptAllCertifications

引用自:https://stackoverflow.com/questions/5998004