Openssl

Материал из sysadm
Перейти к навигации Перейти к поиску

Работа с файлом ключа

Генерация приватного ключа с паролем (алгоритм 3des)

openssl genrsa -des3 -out server.key 2048

# можно использовать другие алгоритмы шифрования: 
# -des3, -des, -aes128, -aes192, -aes256, -aria128, -aria192, -aria256,
# -camellia128, -camellia192, -camellia256, -idea

Генерация приватного ключа без пароля

openssl genrsa -out server.key 2048

Шифрование приватного ключа паролем (алгоритм 3des)

openssl rsa -des3 -in server.key -out server.key

Расшифровка приватного ключа и снятие пароля

openssl rsa -in server.key -out server.key

Упрощенный выпуск сертификатов (v1)

Содание самоподписанных сертификатов

Создание одной командой самоподписанного сертификата и шифрованного приватного ключа (алгоритм шифрования 3des, другой указать нельзя)

openssl req -x509 -new -newkey rsa:2048 -keyout server.key -days 6205 -out server.crt

Создание самоподписанного сертификата по созданному ранее приватному ключу

openssl req -x509 -new -key server.key -days 6205 -out server.crt

По умолчанию, самоподписанные сертификаты создаются с правом подписи других сертификатов, т.е. их можно использовать как CA сертификаты.

Содание запросов на сертификат

Создание файла запроса по созданному ранее приватному ключу

openssl req -new -key server.key -out server.csr

Выпуск сертификата по запросу

Выпуск сертификата по файлу запроса и подписание сертификатом CA.

openssl x509 -req -in server.csr -CA CA.crt -CAkey CA.key -out server.crt -days 6200

Важно! При выпуске первого сертификата, необходимо добавить опцию -CAcreateserial, чтобы создать файл с серийным номером <имя_CA_сертификата>.srl. Данный файл нельзя удалять, т.к. он необходим для генерации серийного номера последующих сертификатов, подписанных соответствующим CA сертификатом.

Проверка сертификатов

Информация о сертификате x509 (*.crt, *.pem)

openssl x509 -in certificate.crt -text -noout

Информация о приватном ключе (*.key):

openssl rsa -in privateKey.key -check

Информация о файле сертификата PKCS#12 (*.pfx, *.p12):

openssl pkcs12 -info -in keyStore.p12

Информация о файле CSR запроса (для файла *.csr):

openssl req -text -noout -verify -in request.csr

Проверка сертификата и цепочки CA

openssl verify -CAfile ca_chain.pem certificate.pem

Проверка SSL сертификата сайта

openssl s_client -connect www.domain.ru:443

Конвертация сертификатов

Конвертация crt,pem в pfx

openssl pkcs12 -inkey cert.key -in cert.pem -export -out cert.pfx