Часть 1. Сборка и подключение
Чтобы добавить поддержку шифрования в сетевое приложение можно воспользоваться открытой библиотекой OpenSSL.
1. Сборка библиотеки
Поскольку бинарные сборки библиотеки доступны не для всех архитектур — будем собирать из исходников. Тем более, что это позволит использовать подходящие флаги оптимизации.
1.1 Unix
Сборка под Unix достаточно тривиальна, особенно, если в нашем распоряжении есть менеджер пакетов. Но, на всякий случай, приведу последовательность сборки из исходников.
Качаем последнюю (или необходимую) версию по адресу http://www.openssl.org/source/ и распаковываем ее. На данный момент последняя версия — openssl-1.0.0a:
> tar xvpf openssl-1.0.0a.tar.gz
В каталоге ./openssl-1.0.0a/ запускаем скрипт конфигурации:
> ./config
Собираем:
> make
И устанавливаем:
> sudo make install
Проверить работоспособность и версию установленной библиотеки можно выполнив команду:
> openssl version
1.2 Windows
Под Windows нам понадобится чуть больше движений. Для конфигурирования необходим Perl, который можно взять здесь (http://strawberryperl.com/) и для сборки — Visual Studio с компилятором C++.
После установки перечисленных выше пакетов, можно приступать к сборке.
В командной строке переходим в каталог openssl-1.0.0a и выполняем и запускаем Perl с указанием компилятора и каталога, в который будет установлена собранная библиотека:
> perl Configure VC-WIN32 --prefix=c:\Temp\openssl
> ms\do_ms
> ms\do_ms
Если последней строчкой будет: Configured for VC-WIN32 — значит все хорошо, если нет — ищем ошибку, исправляем и повторяем процедуру.
Теперь компиляция. Запускаем Visual Studio 2008 Command Prompt в каталоге с openssl и запускаем сборку.
Чтобы получить DLL:
> nmake -f ms\ntdll.mak
> nmake -f ms\ntdll.mak install
Чтобы собрать статическую библиотеку:
> nmake -f ms\nt.mak
> nmake -f ms\nt.mak install
2. Подключение
После того, как библиотека была успешно собрана и установлена, ее можно начинать использовать. Нам понадобятся заголовочные файлы и сама библиотека.
В Unix это тривиальное -lssl во флагах линковщика, а в Windows необходимо указать путь к заголовочным файлам, собранной библиотеке и указать имена библиотек:
Additional Include Directories: c:/Temp/openssl/include
Additional Library Directories: c:/Temp/openssl/lib
Additional Dependencies: libeay32.lib ssleay32.lib
Теперь можно использовать функции OpenSSL в проекте. Как добавить шифрование в сервер и клиент я расскажу в следующей части.
3 комментария:
Вобще неплохо бы больше информации, пост короткий получился. Хотя бы минимальный пример было бы ок. Про сертификаты особенно, куда класть, чо с ними делать...
Как использовать библиотеку будет описано в следующем посте.
А когда будет следующий пост? :))
Отправить комментарий