Перейти к содержанию
PixeL_

TLS/SSL support is not compiled

Рекомендуемые сообщения

Столкнулся с проблемой для своего проекта ( написан на Делфи ) RAD Studio XE7 .

Никак не могу понять почему при запуске ЕХЕ на другой машине не работает SSL/TLS , dll присутствуют в папке с проектом, модули подключены.. Уже поигрался с Опциями в компиляторе, не помагает. Нагуглить ничего толкового не могу. Может подскажите в чем дело и как это решить ? Надо чтоли отдельно на машину устанавливать поддержку SSL ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема актуальна. Поставил на другую машину RAD Studio 10.2 Tokyo . Та же проблема что с рантайм пакетами, что без.. Хрень какая-то. Ошибок в компиляторе нету. Подскажите как быть

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделай отладку, чтобы определить проблему. Например, тот же самый вывод в консоль результатов выполнения каждой функции (или процедуры если на Delphi пишешь). Или выведи результаты лога в файл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Через Process Explorer увидел что ЕХЕ не подгружает libeay32.dll и ssleay32.dll . В то время как на другой машине ( где все работает ) они подгружаются. Зарегистрировать эти дллки в системе не получается, закинул их уже и в папку с софтом и в system32 / syswow64 . Не помогает (( Посмотрел ssl_openssl исходники, там вроде все нормально. С ними же на первой машине все работает ((

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделай статическую линковку библиотек при компиляции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Где найти соответствующую опцию в Опциях проекта RAD XE .. ? Подскажите, я не могу найти

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата
10 minutes ago, PixeL_ said:

Я уже установил отдельно SSL на машину посредством установочного файла OpenSSL, установил пакеты Visual C ( На каком-то из форумов писали что это помогло ) . Нифига , не работает (

Не работает ни после компиляции в RAD XE7 ни в компиляции RAD 10.2.2 Tokyo  ( Run Time packages DISABLED ) ..

 

Ай нид Хелп !

Ошибка осталась та же? (ЕХЕ не подгружает libeay32.dll и ssleay32.dll)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, все так же. Ошибок явных нету, но ЕХЕ не подгружает дллки (

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в импорте екзешника они есть? Как именно "не подгружает"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата
9 hours ago, PixeL_ said:

Да, все так же. Ошибок явных нету, но ЕХЕ не подгружает дллки (

Юзай ssleay32 и  libeay32 из директории своего Embargo в моём случае из C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\subversion

Версии тоже критичны.


Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я и юзал, но как показывает Process Explorer , на машине где все работает, дллки подгружаются из папки с проектом а не по пути Ембаркадеро. С этими же дллками на другой машине ничего не работает, Я качал как новые версии DLL , так и те которые лежали у меня..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата
1 минуту назад, PixeL_ сказал:

Вот на рабочей машине.. Подгружает как с системных папок так и с папки проекта, я тестил несколько вариантов.. Все ок

https://i.ibb.co/WDV4Jqx/worked.png

А вот на машине где не подгружает эти дллки :

https://i.ibb.co/BzLC801/not-working.png

Русские символы в пути на второй тачке, 99% в этом затык

И почитай тут https://www.gunsmoker.ru/2015/11/do-not-use-LoadLibrary.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата
24 минуты назад, CrydBrox сказал:

Русские символы в пути на второй тачке, 99% в этом затык

И почитай тут https://www.gunsmoker.ru/2015/11/do-not-use-LoadLibrary.html

На рабочей машине у меня тоже русские символы в пути..  Я пробовал как угодно , но это не влияет , но я все равно прочту. Спасибо.


Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата
1 час назад, CrydBrox сказал:

Русские символы в пути на второй тачке, 99% в этом затык

И почитай тут https://www.gunsmoker.ru/2015/11/do-not-use-LoadLibrary.html

Статья очень интересная, спасибо. Но мне до нее еще далеко в меру моих умений кодинга )) В своем ЕХЕ я использую библиотеку Synapse и работаю с модулем ssl_openssl  этой библиотеки. Лезть и исправлять либу.. скорей всего там все правильно, а если даже и нет, возможно я сделаю только хуже )

Сами DLL вызываются из модуля ssl_openssl , а конкретно из ssl_openssl_lib.pas :

unit ssl_openssl_lib; interface uses {$IFDEF CIL} System.Runtime.InteropServices, System.Text, {$ENDIF} Classes, synafpc, {$IFNDEF MSWINDOWS} {$IFDEF FPC} {$IFDEF UNIX} BaseUnix, {$ENDIF UNIX} {$ELSE} Libc, {$ENDIF} SysUtils; {$ELSE} Windows; {$ENDIF} {$IFDEF CIL} const {$IFDEF LINUX} DLLSSLName = 'libssl.so'; DLLUtilName = 'libcrypto.so'; {$ELSE} DLLSSLName = 'ssleay32.dll'; DLLUtilName = 'libeay32.dll'; {$ENDIF} {$ELSE} var {$IFNDEF MSWINDOWS} {$IFDEF DARWIN} DLLSSLName: string = 'libssl.dylib'; DLLUtilName: string = 'libcrypto.dylib'; {$ELSE} {$IFDEF OS2} {$IFDEF OS2GCC} DLLSSLName: string = 'kssl.dll'; DLLUtilName: string = 'kcrypto.dll'; {$ELSE OS2GCC} DLLSSLName: string = 'ssl.dll'; DLLUtilName: string = 'crypto.dll'; {$ENDIF OS2GCC} {$ELSE OS2} DLLSSLName: string = 'libssl.so'; DLLUtilName: string = 'libcrypto.so'; {$ENDIF OS2} {$ENDIF} {$ELSE} DLLSSLName: string = 'ssleay32.dll'; DLLSSLName2: string = 'libssl32.dll'; DLLUtilName: string = 'libeay32.dll'; {$ENDIF} {$ENDIF}

Процедуры вызова этих длл в этом модуле приводить не буду.. Там много кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема решилась довольно банально, но тяжело.. )) Всем большое спасибо за советы и рекомендации, это сподвигало меня искать искать и искать..

Странность в том, что Софтина на другой машине не хотела работать с dll с машины компиляции. Т.е. на 1 машине все работало, на второй уже нет. Замена DLL и смена версий библиотек не помогала. Но, все таки я решил потестить на целой куче "реальных" компов, и "О Чудо", на одной из машин ( голой, без переноса DLL ) , начали подгружаться ДЛЛ из системных папок, которые я и скопировал в папку с проектом. С этими ДЛЛ все работает на всех машинах ))

Мои предположения оставлю при себе... ) Надеюсь мой опыт будет кому-то полезен )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 8/12/2019 в 5:48 AM, PixeL_ сказал:

 

Проблема решилась довольно банально, но тяжело.. )) Всем большое спасибо за советы и рекомендации, это сподвигало меня искать искать и искать..

Странность в том, что Софтина на другой машине не хотела работать с dll с машины компиляции. Т.е. на 1 машине все работало, на второй уже нет. Замена DLL и смена версий библиотек не помогала. Но, все таки я решил потестить на целой куче "реальных" компов, и "О Чудо", на одной из машин ( голой, без переноса DLL ) , начали подгружаться ДЛЛ из системных папок, которые я и скопировал в папку с проектом. С этими ДЛЛ все работает на всех машинах ))

Мои предположения оставлю при себе... ) Надеюсь мой опыт будет кому-то полезен )

Не мог бы скинуть эти dll , с такой же проблемой столкнулся, вдруг повезет)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×