Вы не добавили Ssl3 SecurityProtocolType.Ssl3
в SecurityProtocol
.Вам также необходимо включить протокол безопасности Ssl3
в вашем приложении.
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
Обновление: Эта проблема возникает из-за набора по умолчанию SSL/TLS
протоколов, который используется ServicePointManager
и SslStream
был изменен.
Старое значение: Ssl 3.0 |Tls 1.0 |Tls 1.1
Новое значение: Tls 1.0 |Tls 1.1 |Tls 1.2
Чтобы обойти эту проблему, обновите сервер до Tls 1.0, Tls 1.1, or Tls 1.2
, поскольку было показано, что SSL 3.0
небезопасен и уязвим для атак, таких как POODLE.
Примечание. Если обновление не удаетсясервер, используйте AppContext
класс, чтобы отказаться от этой функции.Для этого используйте один из следующих методов:
Программно: Должно быть самое первое, что делает приложение, потому что ServicePointManager
будет инициализироваться только один раз.
Используйте следующий пример кода в вашем приложении:
private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";
private const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";
AppContext.SetSwitch(DisableCachingName, true);
AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
Для получения дополнительной информации: Невозможно подключиться к серверу с помощью API-интерфейсов ServicePointManager или SslStream