Delphi XE2 DataSnap — «Соединение корректно закрыто» при использовании REST через HTTPS

Я пытаюсь подключиться к своей службе DataSnap, используя REST через HTTPS, как из моего приложения Delphi Win32, так и из приложения Android. В моем клиенте Delphi я получаю сообщение «Соединение закрыто изящно», а мое приложение для Android завершается с ошибкой «Нет однорангового сертификата». Я предполагаю, что мне нужно что-то установить на стороне клиента. Я установил 2 DLL OpenSSL «libeay32.dll» и «ssleay32.dll» в папку EXE в приложении Win32, как это было рекомендовано в других сообщениях, но это не решило проблему.

Следует отметить, что я могу успешно подключиться через HTTPS из приложения Win32 с помощью DBXpress — с помощью компонента TSQLConnection. Это просто не работает с использованием TDSRESTConnection. С Android у меня есть только вариант REST.

Надеюсь, я просто пропустил что-то простое?


person Jonathan Wareham    schedule 26.01.2012    source источник


Ответы (1)


Вы уверены, что и сервер DataSnap, и клиент имеют доступ к файлам libeay32.dll и ssleay32.dll и, следовательно, могут их загружать? Сообщение об ошибке, которое вы получаете, обычно случается, когда ни одна из сторон не может найти/загрузить эти DLL-библиотеки SSL...

(пропустите серверную часть, если вы используете ISAPI DLL, и в этом случае IIS позаботится о SSL).

person Bob Swart    schedule 26.01.2012
comment
Привет, большое спасибо за ваш ответ. Мой сервер DataSnap является службой Windows, и да, у меня есть обе библиотеки DLL в папке EXE сервера (моя служба не запустится, пока они не появятся). На клиенте у меня есть библиотеки DLL в пути и в папке EXE клиента для хорошей меры. - person Jonathan Wareham; 26.01.2012