Настройка HTTPS: различия между версиями

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску
(Новая: ==Создание саподписанного SSL сертификата== Делаем следующее:<pre> # cd /etc/ssl # mkdir db # mkdir ca # mkdir clients # touch /etc/ssl/db...)
 
(Создание саподписанного SSL сертификата)
Строка 10: Строка 10:
 
<pre>#!/bin/sh
 
<pre>#!/bin/sh
 
openssl req -new -newkey rsa:4096 -nodes -keyout ./ca/ca.key -x509 -days 3650 \
 
openssl req -new -newkey rsa:4096 -nodes -keyout ./ca/ca.key -x509 -days 3650 \
   -subj /C=RU/ST=Russia/L=Vologda/O=EI/OU=IT/CN=volmed.org.ru/emailAddress=misk@volmed.org.ru -out ./ca/ca.crt</pre>
+
   -subj /C=RU/ST=Russia/L=Vologda/O=MIAC/OU=MEDIC/CN=volmed.org.ru/emailAddress=misk@volmed.org.ru \
Где '''volmed.org.ru''' адрес нашего сервера
+
  -out ./ca/ca.crt</pre>
 +
Где:<br>
 +
rsa - длина ключа (4096), <br>
 +
-days - Период действия сертификата, в нашем случае 10 лет <br>
 +
/CN - адрес нашего сервера, например '''volmed.org.ru''', <br>
 +
/O - Имя организации, например '''MIAC''', <br>
 +
/OU - Имя подразделения, например '''MEDIC''', <br>
 +
Остальное и так понятно.
  
 
Запускаем скрипт '''make_ca.sh'''. Какое-то время он будет возиться с генерацией секретного ключа длиной в 4096 бит, на слабой машине это займет время... можете уменьшить длину ключа до 1024 или 2048 бит, если очень не терпится все поскорее попробовать. В итоге мы получим два файла в каталоге /etc/ssl/ca:<br />  
 
Запускаем скрипт '''make_ca.sh'''. Какое-то время он будет возиться с генерацией секретного ключа длиной в 4096 бит, на слабой машине это займет время... можете уменьшить длину ключа до 1024 или 2048 бит, если очень не терпится все поскорее попробовать. В итоге мы получим два файла в каталоге /etc/ssl/ca:<br />  
 
'''ca.crt''' - это наш самоподписанным доверенный сертификат, и <br />
 
'''ca.crt''' - это наш самоподписанным доверенный сертификат, и <br />
'''ca.key''' - его секретный ключ.<br />
+
'''ca.key''' - его секретный ключ.
 +
 
 
==Создание файла конфигурации==
 
==Создание файла конфигурации==
 
Создаем файл /etc/httpd/conf/vhost.d/server.conf<br \>
 
Создаем файл /etc/httpd/conf/vhost.d/server.conf<br \>

Версия 16:57, 14 мая 2009

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

Делаем следующее:

# cd /etc/ssl
# mkdir db
# mkdir ca
# mkdir clients
# touch /etc/ssl/db/index.txt
# echo "01" > /etc/ssl/db/serial

Создаем скрипт для создания нашего самоподписанного доверенного сертификата (CA) /etc/ssl/make_ca.sh :

#!/bin/sh
openssl req -new -newkey rsa:4096 -nodes -keyout ./ca/ca.key -x509 -days 3650 \
   -subj /C=RU/ST=Russia/L=Vologda/O=MIAC/OU=MEDIC/CN=volmed.org.ru/emailAddress=misk@volmed.org.ru \ 
   -out ./ca/ca.crt

Где:
rsa - длина ключа (4096),
-days - Период действия сертификата, в нашем случае 10 лет
/CN - адрес нашего сервера, например volmed.org.ru,
/O - Имя организации, например MIAC,
/OU - Имя подразделения, например MEDIC,
Остальное и так понятно.

Запускаем скрипт make_ca.sh. Какое-то время он будет возиться с генерацией секретного ключа длиной в 4096 бит, на слабой машине это займет время... можете уменьшить длину ключа до 1024 или 2048 бит, если очень не терпится все поскорее попробовать. В итоге мы получим два файла в каталоге /etc/ssl/ca:
ca.crt - это наш самоподписанным доверенный сертификат, и
ca.key - его секретный ключ.

Создание файла конфигурации

Создаем файл /etc/httpd/conf/vhost.d/server.conf

NameVirtualHost *:443
#Listen 443
<VirtualHost *:443>
ServerName volmed.org.ru
#ServerAlias  volmed.org.ru
#Alias "/update" "/var/www/html/new"
DocumentRoot "/var/www/html/new"
ErrorLog /var/log/httpd/update-error.log
TransferLog /var/log/httpd/update-access.log
CustomLog /var/log/httpd/update-access_log common
    SSLEngine on
    SSLCertificateFile /etc/ssl/ca/ca.crt
    SSLCertificateKeyFile /etc/ssl/ca/ca.key
</VirtualHost>

где

Название Описание
ServerName имя нашего сервера, то же что и при создании сертификата<br\>
DocumentRoot Путь до корня сайта