Windows服务总线禁用证书验证

时间:2017-09-22 11:48:12

标签: c# windows azure azureservicebus servicebus

在测试期间,我尝试连接到安装在天蓝色VM上的Windows服务总线,但收到错误

  

System.Security.Authentication.AuthenticationException:远程   证书根据验证程序无效。

我尝试禁用证书验证

   ServicePointManager.ServerCertificateValidationCallback += CertificateValidation;

    public static bool CertificateValidation(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors)
    {
        return true;
    }

但我仍然遇到同样的错误。

如何在连接到远程Windows服务总线时禁用证书验证?

1 个答案:

答案 0 :(得分:1)

在客户端,我们可以使用Net.TCP,AMQP或REST over HTTP作为与服务总线通信的协议。为ServerCertificateValidationCallback添加事件处理仅适用于REST over HTTP。对于其他协议,您可以在system.serviceModel部分下添加以下配置。

<behaviors>
  <endpointBehaviors>
    <behavior name="DisableSSLCertificateValidation">
      <clientCredentials>
        <serviceCertificate>
          <sslCertificateAuthentication certificateValidationMode="None" />
        </serviceCertificate>
      </clientCredentials>
    </behavior>
  </endpointBehaviors>
</behaviors>