Процедура созданя собственного корневого сертификата и SSL-сертификата

Гобелен - кликните для возврата на главную

Представляете себе лес? Так вот есть ещё Чёрный лес и находится он в Германии.

Начал разбираться с информацией которая находится в HTTPS клиентском запросе рукопожатия.

Обратите внимание! Объект изображённый на гобилене может отличаться от общепринятого вида описанного объекта. Тут дело в том что художник видит именно так!

104 549 руб.

Описание товара

Я планирую выпустить свой корневой сертификат. А затем подписать им SSL сертификат домена. Расскажи пожалуйста о такой процедуре.(давай упустим момент добавления корневого сертификата в браузер, поскольку это мы ранее обсуждали).

Создание собственного корневого сертификата и подпись им SSL-сертификата для домена — это многоэтапный процесс. Вот пошаговая инструкция:

1. Создание корневого сертификата

Корневой сертификат — это самоподписанный сертификат, который будет использоваться для подписи других сертификатов. Шаги:

Создайте закрытый ключ для корневого сертификата:

bash

openssl genpkey -algorithm RSA -out rootCA.key -aes256

Вам будет предложено ввести пароль для защиты закрытого ключа.

Создайте корневой сертификат:

bash

openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.crt

-days 3650 — срок действия сертификата (10 лет).

Вам нужно будет ввести информацию о вашем центре сертификации (например, Common Name, Organization и т.д.).

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

Теперь создадим сертификат для вашего домена, который будет подписан корневым сертификатом.

Шаги:

Создайте закрытый ключ для домена:

bash

openssl genpkey -algorithm RSA -out domain.key

Создайте запрос на подпись сертификата (CSR):

bash

openssl req -new -key domain.key -out domain.csr

Вам нужно будет указать информацию о домене (например, Common Name — это имя домена).

Создайте конфигурационный файл для расширений сертификата (например, v3.ext):

ini

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1 = example.com
DNS.2 = www.example.com

Замените example.com и www.example.com на ваши домены.

Подпишите CSR корневым сертификатом:

bash

openssl x509 -req -in domain.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out domain.crt -days 365 -sha256 -extfile v3.ext

-CAcreateserial создаст файл rootCA.srl, если его нет.

-days 365 — срок действия сертификата (1 год).

3. Использование SSL-сертификата

Теперь у вас есть:

domain.key — закрытый ключ для домена.

domain.crt — подписанный сертификат домена.

Их можно использовать для настройки веб-сервера (например, Nginx или Apache).

Пример для Nginx:

nginx

server { listen 443 ssl;
server_name example.com;

ssl_certificate /path/to/domain.crt;
ssl_certificate_key /path/to/domain.key;

# Дополнительные настройки...
}

Пример для Apache:

apache


ServerName example.com

SSLEngine on
SSLCertificateFile /path/to/domain.crt
SSLCertificateKeyFile /path/to/domain.key

# Дополнительные настройки...

4. Проверка сертификата

После настройки веб-сервера проверьте, что сертификат работает корректно:>/p<

  • откройте сайт в браузере;
  • убедитесь, что браузер не показывает предупреждений (если корневой сертификат добавлен в доверенные);
  • используйте инструменты вроде openssl или онлайн-сервисы (например, SSL Labs) для проверки корректности цепочки сертификатов.

5. Обновление сертификатов

Сертификаты доменов имеют ограниченный срок действия. Чтобы обновить сертификат:

  • создайте новый CSR;
  • подпишите его корневым сертификатом;
  • замените старый сертификат на новый на веб-сервере.

Важные моменты:

  • безопасность закрытых ключей: Закрытые ключи (rootCA.key и domain.key) должны храниться в безопасном месте;
  • срок действия: Корневой сертификат обычно имеет длительный срок действия, а сертификаты доменов — короткий (например, 1 год);
  • совместимость: Убедитесь, что корневой сертификат добавлен в доверенные на всех устройствах, которые будут использовать ваш сайт.

Другие товары

Вы так же можете прочитать следующие статьи: