![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Есть такой код, который посылает запрос на удаленный сервер и получает от него ответ
Код:
http := TIdHTTP.Create(nil); //создание экземпляра протокола http
ssl := TIdSSLIOHandlerSocketOpenSSl.Create(http); //создание ssl на основе http
SSL.SSLOptions.RootCertFile :='1.pem'; //корневой сертификат
SSL.SSLOptions.CertFile := '2.crt'; //сертификат выданный нам центром сертификации//наш публичный ключ
SSL.SSLOptions.KeyFile := '3.key'; //наш приватный ключ
http.IOHandler := ssl;
HTTP.ProxyParams.ProxyServer:='...';
HTTP.ProxyParams.ProxyPort:=...;
try
try
params.Text := n;
responseres.Text := http.Post('https://...", params);
except
on E : Exception do
begin
ShowMessage('Ошибка! Заголовок ответа: ' + http.Response.RawHeaders.CommaText+'!'+e.Message);
end;
end;
finally
SSL.Free;
HTTP.Free;
end;При первом запуске программы код отрабатывает правильно, но при повторном обращении к серверу выдает ошибку could not load root certificate error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib Если программу перезапустить, то сначала отрабатывает снова нормально, а потом опять ошибка... Хотелось бы понять, в чем причина ошибки и как ее устранить. Delphi XE2 16.0.4429.46931 Последний раз редактировалось Admin, 01.09.2013 в 14:37. |