Delphi XE8 Indy OpenSSL, после обновления для Windows 11 я получил ошибку 14077410 SSL23_GET_SERVER_HELLO

У меня есть проект, который все еще работает в Windows 10, и он работал в Windows 11. Но после того, как я установил обновления для Windows 11 (не 22H2):

Теперь я получаю сообщение об ошибке:

ошибка: 14077410: подпрограммы SSL: SSL23_GET_SERVER_HELLO: предупреждение sslv3 сбой рукопожатия.

Моя установка Indy 10.6.2.5263, OpenSSL 1.0.2u, Delphi XE8, и я использую следующий код:

CInitialized := false;
idHttpC := TIdHTTP.Create(nil);
idHttpC.ConnectTimeout := 80000;
idHttpC.ReadTimeout := 80000;
idHttpC.AllowCookies := true;

// config Redirect's
idHttpC.RedirectMaximum := 35;
idHttpC.HandleRedirects := true;
idHttpC.HTTPOptions := [hoTreat302Like303, hoKeepOrigProtocol];
idHttpC.OnRedirect := IdHTTP1Redirect;

// create Cookie's
idCookieC := TIdCookieManager.Create(IdHttpC);
idHttpC.CookieManager := idCookieC;

// create gzip Compressor
idHttpC.Compressor := TIdCompressorZLib.Create(idHttpC);

// create OpenSSL
lIOHandlerC := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
lIOHandlerC.SSLOptions.Mode := sslmClient;
lIOHandlerC.SSLOptions.SSLVersions := [sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
idHttpC.IOHandler := lIOHandlerC;

По моей просьбе:

Result := idHttpC.Get('https://leinestern.de/');

Я получил:

ошибка: 14077410: подпрограммы SSL: SSL23_GET_SERVER_HELLO: ошибка рукопожатия предупреждения sslv3.

Что здесь не так? Может быть, мне нужно изменить какие-то новые настройки?

Я не использую антивирус или брандмауэр, встроенный антивирус и брандмауэр отключены.

теперь я вижу, что получил еще одно обновление от 21.09.2022, и это «Стек обслуживания 10.0.22000.1035» или KB5017383. К сожалению, удалить нельзя.

Evgeny Levitskiy 03.10.2022 22:17

Используете ли вы Indy, который поставляется с предустановленной XE8? Если это так, то эта версия (от 2015 г.) предшествует поддержке Indy SNI на стороне клиента в рукопожатии TLS (добавлено в 2016 г.), которое в настоящее время требуется многим веб-сайтам. Скорее всего, вам придется обновить Indy до последней версии из репозитория GitHub , инструкции см. в разделе Обновление Indy.

Remy Lebeau 03.10.2022 22:17

@RemyLebeau нет, я обновляю его с github, не в этом году, но он работал даже на win11 до обновления KB5017383, к сожалению, его невозможно удалить. больше информации о KB5017811

Evgeny Levitskiy 03.10.2022 22:23

Не видя реального рукопожатия TLS, я не могу помочь вам с ошибками OpenSSL. И я понятия не имею, как обновления Windows влияют на OpenSSL. Возможно, вам придется обратиться за помощью к сообществу OpenSSL. Конечно, они, скорее всего, посоветуют вам прекратить использовать 1.0.2u и вместо этого обновиться до 1.1.x или 3.x. Но TIdSSLIOHandlerSocketOpenSSL не поддерживает эти версии, вместо этого вам придется использовать этот незавершенный SSLIOHander.

Remy Lebeau 03.10.2022 22:41

@RemyLebeau сегодня я обновил indy с GitHub и снова заработал. В любом случае, я думаю, что в новом обновлении Windows есть некоторые изменения в TLS.

Evgeny Levitskiy 04.10.2022 09:42

OpenSSL реализует TLS самостоятельно, он не зависит от реализации Windows.

Remy Lebeau 04.10.2022 17:12
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
225
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

я обновил Indy с GitHub, и он снова работает.

Это не ответ. И вы наверняка имели в виду «он снова работает» (существительное против глагола).

AmigoJack 04.10.2022 09:53

Другие вопросы по теме