SSL-сертификат Comodo Positive SSL и Nginx

Автор:human

SSL-сертификат Comodo Positive SSL и Nginx

SSL-сертификат Comodo Positive SSL и Nginx

Запись о том, как сгенерировать и настроить самый простой SSL-сертификат (Comodo Positive SSL) на веб-сервере Nginx.
Сертификат в данном примере заказывался не у Comodo непосредственно, а у его реселлера ssl.com.ua, за более привлекательную цену. Суть же от этого не меняется, так как сертификат всё равно генерирует и присылает сам Comodo.

План действий:

  1. Сгенерировать CSR (Certificate Signing Request)
  2. Использовать CSR для генерации сертификата
  3. Подготовить сертификат для использования с Nginx
  4. Включить SSL в Nginx с использованием сертификата

Сгенерировать CSR

Для создания сертификата любому центру сертификации требуется CSR (запрос на подписание сертификата).
Также, при генерации CSR создаётся приватный ключ сертификата, который будет использован для расшифровки данных, приходящих из браузера, и зашифрованных открытым ключём, содержащимся в сертификате.
Инструменты по генерации CSR есть на многих сайтах, в том числе, например, здесь:https://ssl.com.ua/online-CSR-generator/

Для генерации CSR нужно указать (исключительно на латинице):
1) Доменное имя, к примеру mydomain.ru
2) Название организации (если нет, то придумать), например MyCompany
3) Отдел организации: IT
4) Город, например Moscow
5) Область/штат, например Moscowskaya Oblast
6) Страна, например Россия (обычно вместо страны используется некий код, который задаётся выпадающим списком со странами)
7) Email, например admin@mydomain.ru
Поставить галочку на параметре «Отправить CSR и приватный ключ (RSA) на указанный адрес»

В результате получится CSR, выглядящий примерно так:

  1. ——BEGIN CERTIFICATE REQUEST——
  2. MIIC6TCCAQAwgaMxCzAJBgNVBAYTAlJVMR4wHAYDVQQIDBVMZW5pbmdy
  3. a2F5YSBPYmxhc3QxGTAXBgNVBAcMNhaW50LVBldGVyc2J1cmcxEjAQBg
  4. CVB1dGV2b3kyNDELGA1UECwwCSVQxFTATBgNVBAMMDHB1dGV2b3kyNC5
  5. MB8GCSqGSIb3DQEJARYSYWRtaW5AcHV0ZXZveTI0LnJ1MIIBIjANBgkq
  6. AQEFAAOCAQ8AMIIBCgKCAQEA1la78VCxc8g//rTUQjeKDTYqLlJn4nSX
  7. zvw9y0BjIPdbv5+MrZcOYWs/4xmeoIW2ivwmdb+JpBJdGN2MJufDsMlc
  8. TgKpDcGu7bxeQfFbcKf75kLkhMf7ords6S0pHdl2aykCO5oA2g2noqTK
  9. wv8orTh9CyBGwIx0t5TbzKVg9AQfVfgWUd0a/9+9GhXHgO84GHtgs3md
  10. tTzu7AtbdmjsLhfAT1jb9sGoIuQGQQS3ZXVIf06bVFWWmu62pUV/jAHn
  11. D/0+CQvkwapU/NUEiEnyqzOFOcJXL1nrgJeRq0X7eQIDAQABoAAwDQYJ
  12. hvcNAQEFBQADggEBACAqykpWOSmyUFkzHipduRmLzMgDcxZR/LHIwuq2
  13. UV79oXP2Do73iGO/MmHAk49xvnP3X0ILQ+dYVPCCgvP6we6CWUit9yda
  14. cgvSCLEM/YFcMoaDFMO5wyMK6hA02WkHEwKBtaTFf2o4RTigIorkJ+Rl
  15. GzROrwePUYCcPIN+DJzWwgIuL7caNAWjweIG7S4oYf1LnpEV2s7C9pZW
  16. RnIUe9aXnLeSQHm83KEMajJxm4fJq6VZS30cGsgusMwgQUgeF5AEmu54
  17. MnPKur2POD64DOPuNHMv+BGhn3CYNeOaH4CoGB0=
  18. ——END CERTIFICATE REQUEST——

А на почту вам придёт закрытый ключ.

Использовать CSR для генерации сертификата

Для генерации сертификата на сайте, который выдаёт сертификаты,
нужно найти форму генерации сертификата, и в ней установить параметры:

1) Тип сервера: Other (так как Nginx как правило в списке отсутствует)
2) CSR: вставить скопированный ключ
3) Данные физического лица, на чьё имя записывается сертификат, такие как:
Имя, Фамилия, Организация, Должность, Электронная почта, Адрес, Дополнительный адрес,
Город, Область/Край, Почтовый индекс, Страна, Телефон.

После ввода этих данных, будет предложено выбрать метод валидации.
Самое простое — по адресу почту admin@mydomain.ru, на который должно прийти письмо со ссылкой на подтверждение.
После подтверждения на почту будет прислан сам сертификат в виде zip-архива, содержащий несколько файлов, упомянутых далее.

Подготовить сертификат для использования в Nginx

Для работы SSL серверу nginx нужно два файла — закрытый ключ (который пришел по почте, и он уже готов), и подготовленный сертификат.

Суть подготовки заключается в том, что нужно ваш личный сертификат (выданный для вашего mydomain.ru) объединить в один файл с сертификатами центра, выдавшего данный сертификат (Comodo).

Архив с сертификатом, который высылается вам на почту, содержит следующие файлы:
1. AddTrustExternalCARoot.crt — сертификат корневого центра сертификации
2. COMODORSAAddTrustCA.crt — сертификат самого Comodo
3. COMODORSADomainValidationSecureServerCA.crt — сертификат сервера Comodo, валидирующего домены
4. mydomain_ru.crt — сертификат вашего сайта

Нам необходимо объединить файлы 2,3,4 в один файл, что в консоли linux делается простой командой:

cat ./mydomain_ru.crt ./COMODORSADomainValidationSecureServerCA.crt ./COMODORSAAddTrustCA.crt > ./mydomain_ru.cert

Также, вам на почту должен был прийти архив с CSR-файлом, а также файлом закрытого ключа. Об этом говорилось в самом начале данной заметки. В присланном архиве должно быть 2 файла — csr.txt и rsa.txt, могут они называться и несколько иначе, однако, факт в том, что приватный ключ — это НЕ CSR, а значит, в данном случае, он находится в файлу rsa.txt. Переименуем его для большей узнаваемости:

mv ./rsa.txt ./mydomain_ru.key

Включить SSL в nginx с использованием сертификата

Пример конфигурации, на которой сайт заработает через SSL:

Подобный конфиг-файл можно положить в папку /etc/nginx/sites-available и сделать на этот файл симлинк в папке /etc/ngins/sites-enabled, после чего перезапустить Nginx.

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

Для проверки можно зайти вот сюда: https://sslanalyzer.comodoca.com/, и, вбив имя своего домена, посмотреть, что видит там сторонний наблюдатель, причём во всех подробностях.

Об авторе

human administrator

    Оставить ответ

    Войти с помощью: 

     

    Яндекс.Метрика