Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何绕过tibco EMS.NET API的证书验证_C#_.net_Tibco Ems - Fatal编程技术网

C# 如何绕过tibco EMS.NET 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

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

在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;
 }
试试这个

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我的回答解决了你的问题吗?如果是的话,你能把它标记为正确的吗?非常感谢。