[英]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,您可以更改接受证书的逻辑(返回 true)或不接受证书(返回 false) 此代码只是跳过证书验证:任何证书都将被接受
您当然可以添加更多逻辑。
您需要创建自己的处理程序,这是一个与委托定义具有相同输入/输出的方法:
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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.