#ssl #encryption #x25519
#ssl #шифрование #x25519
Вопрос:
Я больше не могу загружать общедоступный файл с помощью c # WebClient.DownloadFile() или HttpClient.ReadAsStreamAsync(). Я могу вручную загрузить с помощью Chrome или Firefox.
Веб-сайт обновлен до TLS 1.3, и моя программа ранее работала с TLS 1.2. Первой возвращенной ошибкой было «Не удается установить защищенный канал SSL / TLS». TLS 1.3 не был определенным перечислением.Net поэтому я обновился.Net версии с4.78 по версии с4.80, чтобы указать протокол TLS 1.3 для ServicePointManager.SecurityProtocol и HttpHandler.SslProtocols (для HttpClient). Это действие прошло мимо ошибки защищенного канала, и теперь я застрял на общей ошибке алгоритма.
Chrome показывает, что сайт использует TLS 1.3 и X25519, а также AES_128_GCM. Насколько я понимаю, X25519 — это обмен ключами, а алгоритм — AES_128_GCM. Я выполнил команду PowerShell «get-TlsCipherSuite», и она показывает шифры TLS_AES_256_GCM_SHA384, за которыми сначала следует TLS_AES_128_GCM_SHA256. Это единственные 2 шифра для протокола 772, которые теперь включены по умолчанию в Windows 10. Я полагаю, что это десятичное число указывает на TLS 1.3 (0x0304). Веб-сайт работает на Apache, а сертификат показывает алгоритм SHA256RSA.
Комментарии:
1. «Веб-сайт работает на Apache, а сертификат показывает алгоритм SHA256RSA». — это ничего не говорит о шифрах, поддерживаемых сервером. Посмотрите на отчет SSLLabs вашего сайта, чтобы проверить, какие шифры TLS 1.3 фактически поддерживаются сервером и насколько они соответствуют тому, что поддерживается Windows .
2. Спасибо, Штеффен — отчет SSLLabs потрясающий! Сервер поддерживает все 3 шифрования для версии 1.3 (без предпочтений), а Microsoft поддерживает 2. TLS_CHACHA20_POLY1305_SHA256 по умолчанию отключен. Я не знаю, как поступить, поскольку оба клиента и сервера, похоже, имеют общие алгоритмы, вопреки ошибке. Как ни странно, если я использую TLS 1.2, я не могу установить безопасный канал, хотя клиент и сервер поддерживают его. Мой код выполняется в Azure и выходит из строя там, а также на моем локальном компьютере с Windows 10 Pro. MS обновила мою локальную машину с помощью KB4571756 и KB4576478 последовательно. Проблема началась после этих обновлений.
3. Трудно сказать, что произошло. Для анализа проблемы может быть полезен захват пакетов (tcpdump, wireshark …).