Как создать самоподписной SSL-сертификат

Практически все сайты, работающие с конфиденциальной информацией, используют протокол HTTPS. По своей сути, это HTTP-протокол, работающий с использованием шифрованных транспортных механизмов TLS и SSL; и предназначен в первую очередь для защиты от снифферов.

Для того, чтобы Apache смог работать с использованием этого протокола, необходим SSL-сертификат. Их можно купить у доверенных организаций (VeriSign, Thawte и др.), или создать свои собственные (самоподписные).

Если в системе установлен OpenSSL, то сгенерировать корневой сертификат в общем-то несложно:

0. Cоздаем запароленyый ключ:
sudo openssl genrsa -des3 -out server.key 1024

1. :елаем вариант ключа для использования без паролей (для вебсервера, например)
sudo openssl rsa -in server.key -out server.key.insecure

2. Cоздаем сертификат для сервера на 10 лет
sudo openssl req -new -days 3650 -key server.key -out server.csr

3. Подписываем его ключом сервера
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

В свойства виртуалхоста для порта 443 прописать:

SSLEngine on
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key