Как сгенерировать самоподписанный сертификат SSL? |
Написал Ярослав Гасов | |
06.07.2003 | |
Управление ключами и сертификатами осуществляется с помощью программы openssl. Чтобы сгенерировать новый самоподписанный сертификат выполните следующие команды:
1) Создаем ключ и запрос: openssl req -new > new.cert.csr (Или openssl req -new -nodes -keyout privkey.pem -out new.cert.csr) (Или openssl rsa -in privkey.pem -des3 -out new.cert.key) Этот шаг опциональный. Если его пропустить, переименовав privkey.pem в new.cert.key, то шаг №4 не понадобится.
По ходу Вам будет задан ряд вопросов по информации о содержимом сертификата, на вопрос "Common Name (eg, YOUR name) []:" введите имя сайта, для которого создается сертификат.
3) Теперь сами подписываем сертификат: openssl x509 -in new.cert.csr -out new.cert.crt -req -signkey new.cert.key -days 365 (Или openssl req -new -x509 -days 365 -key new.cert.key -out new.cert.crt)
4) Чтобы Apache не натыкался на пароль (после шага №2): cp new.cert.key new.cert.key~ Будет запрошен пароль для дешифровки.
Для подключения сертификатов к Apache необходимо сделать следующее:
<VirtualHost xxx.xxx.xxx.xxx:443> ... SSLEngine on SSLCertificateFile /path/to/certs/new.cert.crt SSLCertificateKeyFile /path/to/certs/new.cert.key SSLCACertificateFile /usr/local/ssl/certs/new4/Корневой_сертификат_подписавшей_организации.crt # - если подписан не самостоятельно SSLOptions +StdEnvVars ... </VirtualHost> |