OpenBSD.ru Docs

Создаем SSL-сертификат для Apache

Для поддержки https необходимо создать RSA сертификат.

# openssl genrsa -out /etc/ssl/private/server.key 1024

Если вы хотите чтобы ключ был зашифрован паролем, который прийдется вводить каждый раз при запуске httpd, сгенерируйте ключ, включив одну из следующих опций, задающих алгоритм шифрования: des, des3.

# openssl genrsa -des3 -out /etc/ssl/private/server.key 1024

Теперь cгенерируем CSR (Certificate Signing Request) для подписи нашего сертификата:

# openssl req -new -key /etc/ssl/private/server.key \
	-out /etc/ssl/private/server.csr

Обратите внимание на запрос Common Name, тут вы должны указать точное имя сервера без http://. Например: www.server.ru

Затем, вы можете отдать файл server.csr в Certifying Authority, где подпишут ваш ключ. Один из таких CA - Thawte Certification доступный по адресу http://www.thawte.com/. На текущий момент они подписывают только RSA ключи.

Вы так же, можете подписать ключ самостоятельно. Подпишем ключ на 1 год (365 дней):

# openssl x509 -req -days 365 -in /etc/ssl/private/server.csr \
	-signkey /etc/ssl/private/server.key -out /etc/ssl/server.crt

Когда /etc/ssl/server.crt и /etc/ssl/private/server.key готовы, вы можете запустить httpd с флагом -DSSL или же используя apachectl startssl, который заставит httpd включить поддержку https.

Проверим.
Для этого зайдем любым броузером поддерживающим SSL на https://www.server.ru или с помощью команды:

# openssl s_client -connect www.server.ru:443 -state -debug

Не забудьте включить флаг -DSSL в поле httpd_flags в файле /etc/rc.conf, для постоянного запуска httpd с поддержкой SSL.

Вы можете самостоятельно подписать ключ, например для проверки работоспособности вашего сервера, даже если собираетесь использовать сертификат подписанный другим Certifying Authority. И как только, Certifying Authority подписал вам сертификат, вы можете начать использовать его, заменив ваш самостоятельно подписанный /etc/ssl/server.crt на сертификат, подписанный вашим Certifying Authority, и затем перезапустить httpd(8).


OpenBSD.ru www@openbsd.ru
$RuOBSD: https.html,v 1.5 2002/05/24 07:29:06 null Exp $