Эта ошибка в основном указывает на то, что с доверительными отношениями что-то не так. Поскольку служба на стороне сервера защищена сертификатом, мы должны доверять сертификату сервера перед выполнением вызова. Между тем и сервер, и клиентский компьютер будут согласовывать связь по протоколу SSL/TLS
, который определяется ОС и версией платформы Dotnet.
https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls
Доверительное отношение может быть установлено с помощью следующегооператор.
на стороне клиента (просто добавьте его перед звонком).
ServicePointManager.ServerCertificateValidationCallback += delegate
{
return true;
};
Uri uri = new Uri("http://10.157.13.69");
ChannelFactory<IService> factory = new ChannelFactory<IService>(new BasicHttpBinding(), new EndpointAddress(uri));
В качестве альтернативы, мы могли бы установить сертификат сервера в локальном ЦС.
В этих сегментах кода линии обычно указывается версия TLS/SSL
, котораяне рекомендуется, просто позвольте ОС определиться с версией TLS / SSL.
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
Как и в приведенном выше утверждении, используемом для доверия сертификату сервера, мы просто добавляем его на стороне клиента перед выполнением вызова.
Не стесняйтесь, дайте мне знать, если есть что-то, с чем я могу помочь.