OpenSSL

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
OpenSSL
Тип

Библиотека

Разработчик

The OpenSSL Project

Написана на

C

Операционная система

Кроссплатформенное программное обеспечение

Последняя версия

1.0.1e (11 февраля, 2013)

Лицензия

OpenSSL License, SSLeay License

Сайт

OpenSSL.org

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

Доступна для большинства UNIX-like операционных систем (включая Solaris/OpenSolaris, Linux, Mac OS X, QNX4[1], QNX6 и четырех операционных систем BSD с открытым исходным кодом), а также для OpenVMS и Microsoft Windows.

OpenSSL основана на SSLeay, написанной Эриком Янгом (Eric A. Young) и Тимом Хадсоном (Tim Hudson), которые неофициально закончили работать над ней в декабре 1998 года, когда они начали работать в проекте RSA Security.

Содержание

Основные релизы [править]

  • OpenSSL 0.9.3 релиз 25 мая 1999 г.
  • OpenSSL 0.9.4 релиз 9 августа 1999 г.
  • OpenSSL 0.9.5 релиз 28 февраля 2000 г.
  • OpenSSL 0.9.6 релиз 25 сентября 2000 г.
  • OpenSSL 0.9.7 релиз 31 декабря 2002 г.
  • OpenSSL 0.9.8 релиз 5 июля 2005 г.
  • OpenSSL 1.0.0 релиз 29 марта 2010 г.
  • OpenSSL 1.0.1 с поддержкой TLS 1.2 релиз 14 марта 2012 г.
  • OpenSSL 1.0.1 d релиз 5 февраля 2013 г.
История релизов OpenSSL[2]
Версия Дата релиза Комментарий
0.9.1c 23 декабря 1998 года
0.9.2c 22 марта 1999 года
  • Преемник 0.9.1c
0.9.3 25 мая 1999 года
  • Преемник 0.9.2b
0.9.4 9 августа 1999 года
  • Преемник 0.9.3a
0.9.5 28 февраля 2000 года
  • Преемник 0.9.4
0.9.6 25 сентября 2000 года
  • Преемник 0.9.5a
0.9.7 31 декабря 2002 года
  • Преемник 0.9.6h
0.9.8 5 июля 2005 года
  • Преемник 0.9.7h
1.0.0 29 марта 2010 года
  • Преемник 0.9.8x
1.0.1 14 марта, 2012 года
  • Преемник 1.0.0e
  • Поддерживает TLS v1.2
  • Поддержка SRP
1.0.1e 11 февраля 2013 года
  • Текущий релиз [3]

Алгоритмы [править]

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

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

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

Полезные команды openssl [править]

  • Создание ключа для SSL-сертификата. Если не указывать -des3, то он будет без пароля:
# openssl genrsa -des3 -out example.com.key 2048

В случае утери пароля или файла ключа придется пересоздавать сертификат.

  • Генерация CSR-запроса:
# openssl req -new -key example.com.key -out example.com.csr

Имя домена на который создается запрос прописывается в Common Name - example.com, A challenge password и An optional company name вводить не нужно (просто нажимаем enter).

  • Убрать пароль с ключа (необходимо когда сертификат ставится в конфигурацию Apache иначе он при запуске будет просить пароль):
# openssl rsa -in example.com.key -out example.com-nopass.key -passin stdin

и вводим пароль с консоли (либо -passin pass:supersecretpassword что считается менее безопасным)

  • Прочитать содержимое CSR-файла в более удобном для чтения текстовом виде:
# openssl req -noout -text -in example.com.csr

Примечания [править]

  1. OpenSSL для QNX4  (рус.). СВД Встраиваемые Системы. Архивировано из первоисточника 10 февраля 2012.
  2. OpenSSL - Project Newsflash. OpenSSL Software Foundation. Архивировано из первоисточника 26 февраля 2013. Проверено 25 ноября 2012.
  3. OpenSSL 1.x Changelog. OpenSSL Software Foundation. Архивировано из первоисточника 26 февраля 2013. Проверено 25 ноября 2012.
  4. 1 2 3 Описание GOST engine в OpenSSL 1.0.0
  5. Поддержка ГОСТ в разрабатываемой версии OpenSSL 1.0.0 на сайте Криптоком

Ссылки [править]