Официальный форум СВД Встраиваемые Системы
10 Декабря, 2016, 15:39:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: OpenSSL для QNX4  (Прочитано 2961 раз)
Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« : 13 Ноября, 2010, 16:11:56 »

OpenSSL для QNX4

OpenSSL -- криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT. Также имеется возможность шифрования данных и тестирования SSL/TLS соединений.


Пакет OpenSSL доступен для Microsoft Windows, QNX6, большинства UNIX-like операционных систем (включая Solaris/OpenSolaris, Linux, Mac OS X и семейства *BSD), а также для OpenVMS. OpenSSL основан на реализации SSLeay, написанной Эриком Янгом (Eric A. Young) и Тимом Хадсоном (Tim Hudson), которые неофициально закончили работать над ней в декабре 1998 года, когда они начали работать в проекте RSA Security.


Лицензия

OpenSSL лицензируется по "двойной лицензии" -- OpenSSL License и SSLeay License. Обычно под двойной лицензией понимается, что пользователь может выбрать, какую лицензию использовать. Однако, термин двойная лицензия в документации OpenSSL используется для обозначения того, что применяются обе лицензии.

Лицензия OpenSSL требует чтобы фраза "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)" содержалась в рекламных материалах и при последующем распространении (параграфы 3 и 6 OpenSSL License). В связи с этим ограничением, лицензия не совместима с GNU GPL (до чего нам в QNX нет никакого дела).


Алгоритмы

OpenSSL поддерживает разные алгоритмы шифрования и хеширования:

 - Симметричные: Blowfish, Camellia, DES, RC2, RC4, RC5, IDEA, AES, ГОСТ 28147-89;
 - Хеш-функции: MD5, MD2, SHA, MDC-2, ГОСТ Р 34.11-94;
 - Асимметричные: RSA, DSA, Diffie-Hellman key exchange, ГОСТ Р 34.10-2001 (34.10-94).


ГОСТ Р 34.10-2001

«ГОСТ Р 34.10-2001. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи» -- российский стандарт, описывающий алгоритмы формирования и проверки электронной цифровой подписи. Принят и введён в действие Постановлением Госстандарта России от 12 сентября 2001 года вместо ГОСТ Р 34.10-94.

ГОСТ Р 34.10-2001 основан на эллиптических кривых. Его стойкость основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции по ГОСТ Р 34.11-94.

После подписывания сообщения М к нему дописывается цифровая подпись размером 512 бит и текстовое поле. В текстовом поле могут содержаться, например, дата и время отправки или различные данные об отправителе:


Данный алгоритм не описывает механизм генерации параметров, необходимых для формирования подписи, а только определяет, каким образом на основании таких параметров получить цифровую подпись. Механизм генерации параметров определяется на месте в зависимости от разрабатываемой системы.

Поддержка алгоритмов ГОСТ появилась в OpenSSL версии 1.0.0, выпущенной 29 марта 2010 года.


Сборка из исходных кодов

Исходный код OpenSSL имеет поддержку большого числа операционных систем, в том числе QNX4 и QNX6. Но по всей видимости сборка под QNX4 должна осуществляться компилятором GCC и скорее всего современные версии OpenSSL собираться не будут. Тут описано как собрать OpenSSL для QNX4 в среде Linux при помощи OpenWatcom и утилиты wacc. Помимо этого для сборки понадобятся TCP/IP v5.0 SDK и библиотека zlib.

1. Подготовка исходных кодов

На странице Source проекта OpenSSL скачиваем архив openssl-1.0.0b.tar.gz (последний на момент написания этого руководства). Также понадобится патч для QNX4. Рапаковываем архив и накладываем патч:

Код:
$ tar xf openssl-1.0.0b.tar.gz
$ cd openssl-1.0.0b
$ zcat ../openssl-1.0.0b-qnx4.patch.gz | patch -p1

2. Сборка и подготовка дистрибутива

На этот раз я не буду мучить утомительными и непонятными командами, вместо этого в подкаталоге qnx4 подготовлен Makefile для конфигурации, сборки и подготовки дистрибутива. Все интересующиеся могут самостоятельно посмотреть его и при желании доработать. И ещё одна особенность -- в результате будут подготовлены два дистрибутива. Один дистрибутив (runtime) с исполняемыми и конфигурационными файлами и документацией; второй дистрибутив (toolkit) с заголовочными файлами, библиотеками и документацией. Надеюсь, что назначение дистрибутивов понятно. Итак, для подготовки дистрибутивов выполняем следующие команды:

Код:
$ cd qnx4
$ make

В результате будут подготовлены два файла:

 - openssl-1.0.0b-qnx4-rt-YYYYMMDD.tar.gz -- дистрибутив с бинарными компонентами (runtime);
 - openssl-1.0.0b-qnx4-tk-YYYYMMDD.tar.gz -- дистрибутив с инструментальными средствами (toolkit).

Здесь YYYYMMDD -- дата сборки.

3. Утановка дистрибутива

Установка дистрибутива после копирования файлов в корневой каталог QNX4 осуществляется как обычно, например:

Код:
# /etc/install -u /openssl-1.0.0b-qnx4-rt-20101117.tar.gz
# /etc/install -u /openssl-1.0.0b-qnx4-tk-20101117.tar.gz

Если вы не планируете вести разработку в QNX4 приложений с библиотеками OpenSSL, то устанавливать дистрибутив toolkit не нужно.


Ссылки

 - Официальный сайт
 - Описание в википедии + (engl.)
 - Описание ГОСТ Р 34.10-2001 в википедии
 - Использование OpenSSL (статья на opennet.ru)
 - Дистрибутивы OpenSSL 1.0.0b для QNX4: run-time и toolkit
 - Патч для OpenSSL 1.0.0b для сборки в OpenWatcom и wacc
 - Настройка OpenWatcom для QNX4
 - Утилита wacc
 - Библиотека сжатия zlib для QNX4
« Последнее редактирование: 17 Ноября, 2010, 09:07:03 от Олег Большаков » Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2934



WWW
« Ответ #1 : 17 Ноября, 2010, 20:00:24 »

Пока готовил описание, вышла новая версия -- 1.0.0b. Пришлось обновить и для QNX4. Smiley
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2016 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 26 Ноября, 2016, 15:00:41