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

Apache, NGINX, PHP ...
Ответить
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

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

Сообщение root »

Оглавление
Темы
Сертификаты в WINDOWS
Сертификаты в Linux
Автоматизируем создание SSL Ключа и CSR
Дано:
Apache 2.4.x установлен в C:\Apache\
каталог хранения сертификатов C:\certs\apache\

Код: Выделить всё

cd C:\Apache\bin
openssl req -config ..\conf\openssl.cnf -nodes -newkey rsa:2048 -keyout server.key -out server.pem
далее отвечаем на вопросы

Код: Выделить всё

Country Name (2 letter code) [RU]:
State or Province Name (full name) [Some-State]:Moskovskaja
Locality Name (eg, city) []:Zheleznodorozhnyj
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Home
Organizational Unit Name (eg, section) []:Eng
Common Name (e.g. server FQDN or YOUR name) []:pma.serg.ru.
Email Address []:ssergey.mail333.com
Оставшиеся два вопроса оставляем без ответа (ENTER)

Код: Выделить всё

openssl x509 -in server.pem -out server.cert -req -signkey server.key -days 900
Копируем полученные сертификаты в каталог хранения сертификатов

Код: Выделить всё

copy server.* C:\certs\apache\
Для проверки настроек подключения сертификатов открываем файл C:\Apache\conf\extra\httpd-ssl.conf

Код: Выделить всё

SSLCertificateFile "C:/certs/apache/server.crt"
SSLCertificateKeyFile "C:/certs/apache/server.key"

  1. Генерируем private key частный (секретный) ключ по алгоритму RSA с длинной ключа 2048 бита
    и с именем выходного файла fs.key. Частный ключ всегда храниться на сервере и никогда никуда
    не передаётся При утрате частного ключа нужно перегенитить ключ и все сертификаты, в выпуске которых
    он участвовал Файл ключа всегда должен иметь права RW только для владельца файла (600)

    Код: Выделить всё

    openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out pma.free-adm.ru.key
  2. Далее воспользуеися только что полученным ключом для создания запроса на выдачу нового цифрового сертификата.

    Код: Выделить всё

    openssl req -new -key pma.free-adm.ru.key  -out pma.free-adm.ru.csr
  3. Для получения самоподписанного приватным ключом сертификата на основе запроса на выдачу сертификата со сроком действия 365 дней.

    Код: Выделить всё

    openssl x509 -req -days 365 -in pma.free-adm.ru.csr -signkey pma.free-adm.ru.key -out pma.free-adm.ru.crt
  4. Копируем ключ и сертификат в каталоги их постоянного хранения.

    Код: Выделить всё

    cp pma.free-adm.ru.crt /etc/pki/tls/certs/ && cp pma.free-adm.ru.key /etc/pki/tls/private/
  5. Необходимо подключить сгенерированные сертификат и ключ в конфигурационном файле хоста Apache. Для этого необходимо отредактировать следующие директивы конфигурации.

    Код: Выделить всё

    SSLCertificateFile "/etc/pki/tls/certs/pma.free-adm.ru.crt"
    SSLCertificateKeyFile "/etc/pki/tls/private/pma.free-adm.ru.key"

Используйте следующую команду для генерации нового 2048-битного секретного ключа pma.free-adm.ru.key и создания CSR pma.free-adm.ru.csr на его основании:

Код: Выделить всё

domain="pma.free-adm.ru"
openssl req -nodes -newkey rsa:2048 -keyout $domain.key -out $domain.csr -subj "/C=RU/ST=Moscow area/L=Zheleznodorozhnyi/O=Free-Adm/OU=IT Department/CN=$domain"
Команда для получения самоподписанного приватным ключом сертификата на основе запроса на выдачу сертификата со сроком действия 365 дней.

Код: Выделить всё

openssl x509 -req -days 365 -in $domain.csr -signkey $domain.key -out $domain.crt
Копируем ключ и сертификат в каталоги их постоянного хранения.

Код: Выделить всё

cp $domain.crt /etc/pki/tls/certs/ && cp $domain.key /etc/pki/tls/private/
Необходимо подключить сгенерированные сертификат и ключ в конфигурационном файле хоста Apache. Для этого необходимо отредактировать следующие директивы конфигурации.

Код: Выделить всё

echo "SSLCertificateFile \"/etc/pki/tls/certs/$domain.crt\""
echo "SSLCertificateKeyFile \"/etc/pki/tls/private/$domain.key\""
Ответить