Наши преимущества

C++ Builder 2007(триал) + Indy 10(встроенный) + SSL(dll из инета) работают ли???

VMS

Турист
Credits
0
Возник трабл при создании клиент/сервера с поддержкой SSL. Точнее, именно сервера.
В нете накопал из работоспособного только это Indy10SSLExample.zip

Для вышеназванного примера написал (переписал с делфи аналог) рабочий клиент на С.
Сервер подобным образом переписанный отказался работать. При попытке подключения к серверу "Мой" клиент выдаёт Error connecting with SSL. А "мой" сервер Socket Error 10038.

С отключенным SSL Мои клиент и сервер работают на ура.

При "переводе" сервера на С, возникла трудность с двумя строками:
procedure TForm1.IdTCPServerConnect(AContext: TIdContext);
begin
{ THESE TWO LINES ARE CRITICAL TO MAKING THE IdTCPSERVER WORK WITH SSL! }
if (AContext.Connection.IOHandler is TIdSSLIOHandlerSocketBase) then
TIdSSLIOHandlerSocketBase(AContext.Connection.IOHandler).PassThrough:= false;

end; { ID TCP SERVER CONNECT }

Сервер на делфи, действительно отказывается работать если удалить подобное определение.
В документации ничего вразумительного по поводу этих строк не нашёл.
Удалось перевести на С так:
...
TIdSSLIOHandlerSocketOpenSSL(AContext->Connection->IOHandler).PassThrough= false;
Условие в делфи выполняется постоянно, я его опустил.

Полные исходники не привожу, они более чем очевидны из примера. SSL библиотеки брал тамже, где и пример.

Помогите разобраться с конкретным примером, или покажите рабочий пример на С++ клиент/сервера с поддержкой SSL.

P.S. Гуглить не послыть, я там уже не первый день копаю.
 
Верх