OpenSSL – криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT. Также имеется возможность шифрования данных и тестирования SSL/TLS соединений. Используется, в частности, в библиотеке cURL для реализации работы по протоколу HTTPS.
Доступна для большинства UNIX-подобных операционных систем (включая Solaris/OpenSolaris, Linux, Mac OS X, QNX4, QNX6 и четырёх операционных систем BSD с открытым исходным кодом), а также для OpenVMS и Microsoft Windows.
OpenSSL основана на SSLeay, написанной Эриком Янгом (Eric A. Young) и Тимом Хадсоном (Tim Hudson), которые неофициально закончили работать над ней в декабре 1998 года, когда они начали работать в проекте RSA Security.
Летом 2012 года проект OpenSSL получил для версии библиотеки 1.0 сертификат соответствия стандарту безопасности FIPS 140-2, определяющий требования к криптографическим модулям, необходимые для их использования в государственных учреждениях США. Сертификат выдан Американским институтом стандартов и технологий (NIST) после проведения соответствующего аудита кода проекта. Выданный сертификат примечателен тем, что он выдан на исходные тексты продукта, а не конкретную бинарную сборку, что расширяет область использования OpenSSL в государственных проектах.
Алгоритмы OpenSSL
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).
Поддержка алгоритмов ГОСТ появилась в версии 1.0.0, выпущенной 29 марта 2010 г., и была реализована сотрудниками фирмы Криптоком.
Полезные команды OpenSSL
# openssl genrsa -des3 -out example.com.key 2048
В случае утери пароля или файла ключа придется пересоздавать сертификат.
# openssl req -new -key example.com.key -out example.com.csr
Имя домена на который создается запрос прописывается в Common Name – example.com, A challenge password и An optional company name вводить не нужно (просто нажимаем “Enter”).
# openssl rsa -in example.com.key -out example.com-nopass.key -passin stdin
и вводим пароль с консоли (либо -passin pass:supersecretpassword что считается менее безопасным)
# openssl req -noout -text -in example.com.csr
Ссылки
Жили как-то несколько лет назад без всяких сертификатов, сейчас приходится бегать по всяким ХостРадарам сломя голову, разыскивать хостинг с недорогим или бесплатным ссл.