Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Проблема подключения OpenSSL и Crypto++ (http://forum.oszone.net/showthread.php?t=340745)

Apock 31-05-2019 00:29 2873823

Проблема подключения OpenSSL и Crypto++
 
Возникло желание поковыряться в криптографии. Взял за основу код, написанный под 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 2874911

Победил Crypto++. Расскажу, может кому поможет.
1. Устанавливаем С++Builder 2010.
Скрытый текст
Попытки сборки на RAD Studio 10.2 и 10.3 не увенчались успехом

2. Скачиваем 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.


Время: 07:52.

Время: 07:52.
© OSzone.net 2001-