C# 如何绕过tibco EMS.NET API的证书验证
我正在尝试使用ssl连接tibco服务器(ssl://host:port)但我们需要绕过证书验证 在Java中,有一个API可用,例如C# 如何绕过tibco EMS.NET API的证书验证,c#,.net,tibco-ems,C#,.net,Tibco Ems,我正在尝试使用ssl连接tibco服务器(ssl://host:port)但我们需要绕过证书验证 在Java中,有一个API可用,例如 System.setProperty(BaseClient.TIBCO_STATSVCS_SSL_ALLOW_ANY_CERTIFICATE, "true"); 我们在.Net API中需要相同的功能。试试这个 System.Net.ServicePointManager.ServerCertificateValidationCallbac
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;
}
试试这个
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;
}
如果你解释你提供的代码如何回答问题,这将是一个更好的答案。我编辑了答案,如果你需要更多细节,请告诉我。如果你解释你提供的代码如何回答问题,这将是一个更好的答案。我编辑了答案,如果你需要更多细节,请告诉我Shi Mahadik,我的答案解决了你的问题吗?如果是的话,你能把它标记为正确的吗?谢谢你好Mahadik我的回答解决了你的问题吗?如果是的话,你能把它标记为正确的吗?非常感谢。