如何绕过 tibco EMS .NET 的证书验证 API

How to Bypassing the certificate validation for tibco EMS .NET API

我正在尝试使用 ssl (ssl://host:port) 连接 tibco 服务器,但我们需要绕过证书验证。

在Java中有一个API可用,例如

System.setProperty(BaseClient.TIBCO_STATSVCS_SSL_ALLOW_ANY_CERTIFICATE, "true");

我们需要 .Net 中的相同功能 API。

试试这个

System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

编辑: 通过更改 ServerCertificateValidationCallback,您可以更改接受证书(return true)或不接受(return false)的逻辑 此代码只是跳过证书验证:任何证书都将被接受

你当然可以添加更多的逻辑。

您需要创建自己的处理程序,这是一个与委托定义相同inputs/output的方法:

public delegate bool RemoteCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors);

因此,例如:

 public static bool MyCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) {
   //whatever
 }
 public static void Main() {
     System.Net.ServicePointManager.ServerCertificateValidationCallback = MyCertificateValidationCallback;
 }