Я работаю над приложением веб-сервиса Soap, написанным с использованием платформы .net 3.5. Внешняя служба, которую мы используем, изменилась, и я обновил ее, но, хотя я открыл все, что связано с TLS, на компьютере с Windows 2012 R2, я получаю сообщение об ошибке «Запрошенный протокол безопасности не поддерживается».
Я создал ключ клиент-сервера для TLS 1.2 и 1.1 через редактор реестра и ввел их значения
Значениям SchUseStrongCrypto и SystemDefaultTlsVersions было присвоено значение 1. как под wow6432Node, так и под Flat Microsoft (хотя я выбрал v2 из пула приложений для платформы .net 3.5, на всякий случай я установил его в v4)
Я включил TLS 1.0 1.1 1.1 1.2 по интернет-протоколу
public const SslProtocols _Tls12 = (SslProtocols)0x00000C00;
public const SecurityProtocolType Tls12 = (SecurityProtocolType)_Tls12;
//The following part is in the function I use
ServicePointManager.SecurityProtocol = Tls12;
ServicePointManager.ServerCertificateValidationCallback = delegate (object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
};
отлично работает на других компьютерах с Windows Server 2016, которые я установил. Чего мне не хватает?
Я работаю над приложением веб-сервиса Soap, написанным с использованием платформы .net 3.5. Внешняя служба, которую мы используем, изменилась, и я обновил ее, но, хотя я открыл все, что связано с TLS, на компьютере с Windows 2012 R2, я получаю сообщение об ошибке «Запрошенный протокол безопасности не поддерживается». [list] [*]Я создал ключ клиент-сервера для TLS 1.2 и 1.1 через редактор реестра и ввел их значения
[*] Значениям SchUseStrongCrypto и SystemDefaultTlsVersions было присвоено значение 1. как под wow6432Node, так и под Flat Microsoft (хотя я выбрал v2 из пула приложений для платформы .net 3.5, на всякий случай я установил его в v4)
Я включил TLS 1.0 1.1 1.1 1.2 по интернет-протоколу
[*]Я внес свои дополнения на код [code]public const SslProtocols _Tls12 = (SslProtocols)0x00000C00; public const SecurityProtocolType Tls12 = (SecurityProtocolType)_Tls12; //The following part is in the function I use ServicePointManager.SecurityProtocol = Tls12; ServicePointManager.ServerCertificateValidationCallback = delegate (object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; }; [/code] отлично работает на других компьютерах с Windows Server 2016, которые я установил. Чего мне не хватает?