- 0
THTTPClient и просроченный сертификат сервера
-
Похожий контент
-
- 12 ответов
- 266 просмотров
-
- 2 ответа
- 144 просмотра
-
- 0 ответов
- 417 просмотров
-
- 9 ответов
- 1 018 просмотров
-
- 1 ответ
- 711 просмотр
-
- 4 ответа
- 753 просмотра
-
- 2 ответа
- 687 просмотров
-
- 0 ответов
- 598 просмотров
-
Поставил Delphi 10.4 - не могу скомпилировать приложение под Android
От Delpher-X,
- delphi 10.4.2
- android
- (и ещё 2 )
- 24 ответа
- 2 699 просмотров
-
- 4 ответа
- 1 055 просмотров
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
Евгений Корепов
Есть сайт просроченным сертификатом безопасности (госконтора, такое у них в порядке вещей), сертификат могут обновить завтра, а могут и через год, но работать с ним надо.
Var HTTPClient: THTTPClient; HTTPResponse: IHTTPResponse; begin HTTPClient:=THTTPClient.Create; HTTPClient.OnValidateServerCertificate:=HTTPClientValidateServerCertificate; ..... try HTTPResponse:=HTTPClient.Post(FHTTPRec.Query,FHTTPRec.PostData); except on E : Exception do begin FHTTPRec.ErrorCode:=-1; FHTTPRec.ErrorMsg:=E.Message; end; ..... end; procedure THTTPThread.HTTPClientValidateServerCertificate(const Sender: TObject; const ARequest: TURLRequest; const Certificate: TCertificate; var Accepted: Boolean); begin Accepted:=True; end;
Под Windows код работает идеально - вызывается HTTPClientValidateServerCertificate, где принудительно доверяем сертификату.
Под Андроид HTTPClientValidateServerCertificate или игнорируется, или до процедуры не доходит. Получаю ошибку:
First chance exception at $A06ECCE5. Exception class EJNIException with message 'java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.'. Process tratata.apk (25487) First chance exception at $A0EA44F5. Exception class ENetHTTPCertificateException with message 'Server Certificate Invalid or not present'. Process tratata.apk (25487)
Как победить проблему?
P.S. До этого проект работал на Indy, там подобные проблемы успешно игнорировались. Но решил перевести все на THTTPClient и вот результат :-(
Ссылка на комментарий
7 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.