Возник трабл при создании клиент/сервера с поддержкой SSL. Точнее, именно сервера.
В нете накопал из работоспособного только это Indy10SSLExample.zip
Для вышеназванного примера написал (переписал с делфи аналог) рабочий клиент на С.
Сервер подобным образом переписанный отказался работать. При попытке подключения к серверу "Мой" клиент выдаёт Error connecting with SSL. А "мой" сервер Socket Error 10038.
С отключенным SSL Мои клиент и сервер работают на ура.
При "переводе" сервера на С, возникла трудность с двумя строками:
Сервер на делфи, действительно отказывается работать если удалить подобное определение.
В документации ничего вразумительного по поводу этих строк не нашёл.
Удалось перевести на С так:
Полные исходники не привожу, они более чем очевидны из примера. SSL библиотеки брал тамже, где и пример.
Помогите разобраться с конкретным примером, или покажите рабочий пример на С++ клиент/сервера с поддержкой SSL.
P.S. Гуглить не послыть, я там уже не первый день копаю.
В нете накопал из работоспособного только это 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. Гуглить не послыть, я там уже не первый день копаю.