Статьи / HTTPS и SMTPS с помощью OpenSSL

HTTPS и SMTPS с помощью OpenSSL


Отправить ссылку:

HTTPS и SMTPS клиент легко, с помощью OpenSSL

Преамбула

Статья ориентирована на программистов, которые представляют как устроена передача данных между клиентом и сервером, знаком с основами устройства HTTP и SMTP протоколов. Примеры в статье приведены на языке C++ под Windows с использованием Visual Studio 2005, но под Visual Studio 2008 Express тоже всё должно работать.

Введение

HTTPS и SMTPS протоколы используются для безопасного серфинга по Интернету и отправки почты. Оба протокола используют SSL / TLS (Secure Sockets Layer / Transport Layer Security) для шифрования данных. Создание функций для шифрования, дешифрования данных, обмена сертификатами очень трудоемкая задача. Но на помощь придёт библиотека OpenSSL. Библиотека не только реализует все эти функции, но и имеет лицензию, позволяющую использовать её в коммерческих проектах.
OpenSSL реализует множество функций работы с сертификатами, методами кодирования. В этой статье будут приведены простые примеры использования OpenSSL в клиентах.

Компиляция OpenSSL

Первое, что необходимо сделать, это скачивание исходных файлов OpenSSL и их скомпиляция. OpenSSL можно скачать на сайте разработчика http://www.openssl.org/.
Скачав исходные файлы их необходимо скомпилировать тем компилятором, который вы будете использовать для написания программ. Я использовал Visual Studio 2005.

В файле INSTALL.W32 описывается компиляция для платформы Windows x32. Опишем эти шаги:

1. Необходимо установить ActivePerl, который можно будет скачать с сайта http://www.activestate.com/ActivePerl . После установки необходимо будет перезагрузить компьютер.

2. Запускаем командную строку cmd.

3. Переходим в директорию, куда вы распаковали исходные файлы OpenSLL, например c:\projects\openssl.

4. Запустить файл vsvars32.bat, обычно он расположен тут: "C:\Program Files\Microsoft Visual Studio 9\Common7\Tools\vsvars32.bat". Этот файл настраивает переменные среды для компилятора Visual Studio.

5. Набираем команду.
perl Configure VC-WIN32 --prefix=c:/projects/openssl/
, где вам необходимо указать свою директорию.

6. После необходимо скомпилировать OpenSSL.
Для компиляции в динамическом режиме запускаем команду:
nmake -f ms\ntdll.mak
Для компиляции в статическом режиме запускаем команду:
nmake -f ms\nt.mak

7. После можно протестировать то, что скомпилировалось, набрав команду:
nmake -f ms\nt.mak test

8. После устанавливаем необходимые файлы, набирая команду.
nmake -f ms\nt.mak install
Необходимые файлы должны скопироваться в папку C:\usr\local\ssl\. Файлы можно скопировать или настроить правильно пути в проекте.

Замечание: Стоит заметить, может произойти конфликт, если флаги компиляции OpenSSL и вашего бедующего проекта различны. Флажки компиляции OpenSSL можно просмотреть в файлах nt.mak или ntdll.mak, они перечислены где-то в 19 строке:
CFLAG= /MD /Ox /O2 /Ob2 /W3 / :..

Теперь осталось сделать самое интересное, приступим к созданию клиентов.


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



Олег (Дата )

Все вопросы и предложения высылайте на адрес soft_support@list.ru. Необходимо в заголовке указать название статьи.

Оставь свой отзыв


Ответьте на вопрос (ответ маленькими буквами)* :
1+4?(ответ цифрами)