#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;