Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Передача сообщений по HTTPS с SSL (Delphi7+Indy9.0.14)

848
20 июля 2004 года
Tanya
3 / / 20.03.2000
Здравствуйте, All!

Есть следующая задача: передавать и получать данные с помощью HTTPS. Есть в дельфях такая компонента как TIdHTTP, однако для секьюрного соединения к ней (через св-во Intercept) необходимо подключить объект класса TIdConnectionInterceptOpenSSL:

 
Код:
var
  IdHTTP: TIdHTTP;
  Intercept: TIdConnectionInterceptOpenSSL;
begin
  ... // создание IdHTTP
  ... // создание Intercept
  IdHTTP.Intercept := Intercept
end


Компонента TIdHTTP присутствует в Indy Package, а TIdConnectionInterceptOpenSSL - нет, причем ее нет и в кодах библиотеки Indy. Однако, описание этого класса есть в специально подставляемых отдельно dll. В хелпах к этой компоненте сказано следующее:
Цитата:
TIdHTTP also supports the Secure Hypertext Transport protocol (HTTPS) <...>
Assign an instance of TIdConnectionInterceptOpenSSL to the Intercept property to allow use of the HTTPS protocol. For the Windows platform, you must install the Indy OpenSSL support. <...>
The TIdConnectionInterceptOpenSSL intercept class implements the Open SSL implementation of Secure Sockets Layer through support .DLL's available at http://www.intelicom.si/. You have to deploy these support .DLL's in order to use this component's functionality in your application. To do this, we recommend that you install the .DLL's in the user's system directory.


Собственно вопросы:
1. Как получить из dll определение класса?
2. Как зарегистрировать файл сертификата и указать эту регистрацию компоненте TIdConnectionInterceptOpenSSL?

848
20 июля 2004 года
Tanya
3 / / 20.03.2000
Ответы (может, кому понадобится):
1. В новой версии Indy компонент вместо Interceptor свойства используется св-во IOHandler. К нему можно подключить TIdSSLIOHandlerSocket.
2. У элемента TIdSSLIOHandlerSocket есть поля CertFile и RootCertFile, куда и прописываются соответствующие файлы сертификатов
10K
08 апреля 2005 года
43 coins
3 / / 08.04.2005
понадобилось.

пол недели бился с этим. весь инет излазил.
правда теперь почему - то файл с ключем не читается.

спасибо
10K
10 апреля 2005 года
43 coins
3 / / 08.04.2005
блин, не могу только разобраться с сертификатом - сделал запрос сертификата на сервер. Пришел 1 файл. А в настройках IdSSLIOHandlerSocket.SSLOptions - 3 поля

IdSSLIOHandlerSocket.SSLOptions.CertFile
IdSSLIOHandlerSocket.SSLOptions.RootCertFile
IdSSLIOHandlerSocket.SSLOptions.KeyFile

куда что прописывать ? не известно.

когда прописываю пришедший сертификат в одно из полей выскакивает ошибка EIdOSSLLoadingCertError 'Could not load certificate'
29K
08 мая 2007 года
Аббат
3 / / 08.05.2007
Прописывай следующее
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.CertFile:='s1.pem';
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.KeyFile:='s2.pem';
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.RootCertFile:='s3.pem';
7.8K
08 мая 2007 года
Hrew
185 / / 23.04.2007
Цитата: Аббат
Прописывай следующее
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.CertFile:='s1.pem';
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.KeyFile:='s2.pem';
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.RootCertFile:='s3.pem';



Ишь как лихо !

Вообще-то все зависит от того, какие у Вас сертификаты имеются - *.crt (с ключом *.key) или *.pem.

29K
10 мая 2007 года
Аббат
3 / / 08.05.2007
Цитата: Hrew
Ишь как лихо !

Вообще-то все зависит от того, какие у Вас сертификаты имеются - *.crt (с ключом *.key) или *.pem.




Впринципе я согласен, но это самый простой вариант.

29K
10 мая 2007 года
Аббат
3 / / 08.05.2007
Цитата: Аббат
Прописывай следующее
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.CertFile:='s1.pem';
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.KeyFile:='s2.pem';
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.RootCertFile:='s3.pem';





Где s1,s2,s3-твои сертификаты

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог