.net - navegador - que es un certificado autofirmado
VB.net Acepta certificado SSL autofirmado (4)
Estoy buscando una forma de validar (u omitir la validación de) certificados SSL autofirmados utilizando VB .Net. Encontré el código para hacer esto en C # y traté de convertirlo en código VB, pero no estoy teniendo suerte.
Aquí está el código C #.
Esto es lo que intenté:
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
Luego, antes de la solicitud web, tengo esta línea de código que me da un error.
ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications)
El mensaje de error es:
Delegate ''System.Net.Security.RemoteCertificateValidationCallback'' requires an ''AddressOf'' expression or lambda expression as the only argument to its constructor.
En VB.Net,
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
Resuelve el problema de las aplicaciones menos seguras.
En VB.Net, necesitas escribir
ServicePointManager.ServerCertificateValidationCallback = AddressOf AcceptAllCertifications
No estoy seguro, pero esto debería funcionar:
ServicePointManager.ServerCertificateValidationCallback = _
New RemoteCertificateValidationCallback(AddressOf AcceptAllCertifications)
Un trazador de líneas:
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
Créditos a Robby Tendean