![]() |
|
|
Регистрация | << Правила форума >> | 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. |