Войти

Показать полную графическую версию : [решено] Проблема подключения OpenSSL и Crypto++


Apock
31-05-2019, 00:29
Возникло желание поковыряться в криптографии. Взял за основу код, написанный под Visual Studio с использованием библиотек OpenSSL. Пытаюсь его переписать под любимый C++ Builder 10.3.
А теперь, собственно, сама проблема.
Библиотеки OpenSSL под Билдер не заточены, насколько я понял. Пытаюсь конвертировать по инструкции с помощью Coff2Omf или Elf - не выходит. Либо ошибка конвертации, либо библиотека создаётся, но в программе ошибка [ilink32 Error] Error: 'C:\OpenSSL_Win32\lib\LIBEAY.LIB' contains invalid OMF record, type 0x21 (possibly COFF).
Пока я с этим мучался, обнаружил ещё проблему, что Билдер ругается на вложенные заголовочные файлы. Подключаешь openssl/e_os2.h, функции программа видит, а вот реализацию, которая описана в одном из include из e_os2.h не находит.
Блуждая по сети в поисках решения проблемы, неоднократно натыкаюсь на изречения, типа "OpenSSL для криптографии используют только извращенцы". Подумал я над этим и решил поискать счастья в другом месте.
Скачал CryptoPP. Документации полно, заточка под Builder есть, красота. Но не тут-то было. Попытка открыть проект cryptlib_bds для сборки библиотек закончилась(вернее даже не началась) ошибкойThe project can not be loaded because the required personality CPlusPlusBuilder. Personality is not available.Как победить эту проблему я так и не понял.
Где-то отковырял готовые библиотеки CryptoPP. Конвертил их тоже разными путями, но получаю всё тот-же "contains invalid OMF record".

Научите, как мне правильно подключить хоть одну из описанных библиотек?

Apock
08-06-2019, 22:34
Победил Crypto++. Расскажу, может кому поможет.
1. Устанавливаем С++Builder 2010.
Попытки сборки на RAD Studio 10.2 и 10.3 не увенчались успехом
2. Скачиваем (https://www.cryptopp.com/#download) CryptoPP 6.0.0.
Попытка установить какую-то версию из последних не прокатила. При сборке выскакивает куча ошибок + запросы на нехватающие файлы. В релизе описано, что данные файлы больше не используются, однако сборщик их требует. Моих мозгов не хватило, чтоб все эти проблемы решить)) Поэтому решено было взять более старую версию
3. В папке CryptoPP находим архив bds10.zip. Распаковываем в корень папки.
4. Открываем в Билдере проект cryptlib_bds.bdsproj.
5. Заходим в Project->Options->TLib и устанавливаем Set library page size на 1024, так как текущего значения недостаточно.
6. Project->Build. И наконец получаем заветную cryptlib_bds.lib в папке Debug_Build.




© OSzone.net 2001-2012