HTTPS-соединение от клиента c # к Tomcat с использованием wsdl.exe

#c# #.net #tomcat #https #wsdl.exe

#c# #.net #tomcat #https #wsdl.exe

Вопрос:

У меня есть веб-сервис tomcat и клиент c # .net, который подключается к сервису. Я создал классы соединений с wsdl.exe и все в порядке. Но теперь я активировал ssl в tomcat для использования https. В моем приложении c # я только изменил URL на https и получаю следующую ошибку:

Базовое соединение было закрыто: не удалось установить доверительные отношения для защищенного канала SSL / TLS.

Как мне избежать этого сообщения? это потому, что cretificate ненадежен? Как мне сообщить моему клиенту, что это соединение является надежным?

Ответ №1:

Да, скорее всего, сертификат сервера не является доверенным для вашего клиента. Вы можете обработать ServicePointManager.ServerCertificateValidationCallback , чтобы разрешить SSL-соединения с недействительными сертифицированными серверами:

 private static bool ValidateRemoteCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors)
{
    return true; // allow connection despite any errors
}    
...
ServicePointManager.ServerCertificateValidationCallback  = ValidateRemoteCertificate;