Добрый день уважаемые читатели блога сайт, сегодняшний пост не будет про новое обновление windows 10 creators update , в прошлом посте мы и так все подробно разобрали. Сегодня мне хочется поговорить с вами о том, что такое CSR запрос и как его сгенерировать на различных платформах веб-движков, поговорим, где и в каких ситуациях вам это пригодится, данный материал будет очень полезен начинающим веб-мастерам.
Что такое CSR запрос
CSR
(Certificate Signing Request) - это запрос
на получение сертификата, который представляет собой текстовый файл, содержащий в закодированном виде информацию об администраторе домена и открытый ключ. CSR
можно сгенерировать в процессе заказа SSL-сертификата или на стороне веб-сервера. или более упрощенно. CSR - это Certificate Signing Reques, если по-русски, то запрос на получение сертификата. Задачей Certificate Signing Reques является подготовить специальный файл, в составе которого будет содержаться необходимая информация о домене, на который планируется выпустить SSL сертификат и информация об организации, естественно все это дело будет зашифровано. Вместе с CSR будет сгенерирован закрытый ключ (private key), которым сервер или сервис будет расшифровывать трафик между ним и клиентом, более подробно про SSL сертификаты читайте по ссылке. Вот так вот выглядит CSR запрос.
Я вам приводил уже пример из своей работы, где мы применяли CSR запрос для выпуска сертификата почтового сервера Zimbra , сегодня моей задачей показать вам все известные мне методы по генерации Certificate Signing Reques.
Создать csr запрос
И так генерация csr запроса у нас будет для таких платформ:
- Microsoft IIS 7 и выше, так как я не вижу смысла в предыдущих версиях
- Linux платформы (Apache, ModSSL, Nginx)
- Online сервисы
Генерация csr запроса на IIS 7
На хостингах не самый распространенный веб-сервер, открываете консоль управления IIS. Выбираете нужный сайт и выбираете значок "Сертификаты сервера"
В открывшемся окне, в области действия, вам необходимо нажать "создать запрос сертификата"
Заполняете поля:
- Полное имя > обычно пишут адрес ресурса
- Организация
- Подразделение > можно пропустить
- Город
- Область
- Страна или регион > на латинице ваше обозначение страны
И указываем место сохранения CSR запроса, по сути это будет обычный текстовый файл.
Генерация csr запроса Apache, ModSSL, Nginx
Создание csr запроса в CentOS (Linux или MacOS) осуществляется с помощью утилиты OpenSSL, кто не знает, что это такое, то в нескольких словах, это кроссплатформенное программное решение, которое позволяет работать с технологиями SSL/TLS, позволяет управлять и взаимодействовать с криптографическими ключами. В версии CentOS 7, она уже идет под капотом, но если у вас OpenSSL еще не установлен, то делается это вот такой командой:
yum install openssl
В Debian или Ubuntu, команда будет выглядеть вот так.
apt-get install openssl
Теперь при наличии OpenSS в системе, вы сможете произвести генерацию CSR запроса.
openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out ca.csr
У вас будет сгенерированно два файла:
- private.key > это ваш закрытый ключ (приватный), это самый секретный ключ, сообщать и передавать его никому нельзя. Обязательно сделайте резервную копию этого файла, может пригодиться.
- ca.csr > это сам запрос на сертификат, который вы передадите в удостоверяющий центр, для выпуска и подписания вашего сертификата.
Хочу отметить, что полученные файлы вы обнаружите в каталоге, где выполняете команду OpenSSL.
Давайте теперь пробежимся по полям, которые вам нужно будет заполнить, вводите тут максимально корректную информацию, в противном случае можете от этого пострадать.
- Country Name (двухбуквенный код страны) - Так как я живу в России, то пишу RU
- State or Province (Район, Область) - Заполняется на английском, в моем случае Moscow
- Locality (Полное название города) - Moscow
- Organization (Официальное наименование организации) - Pyatilistnik inc. Примечение: При заказе сертификата физическим лицом (актуально для SSL-сертификатов с проверкой домена (DV-Domain Validation), в этом поле необходимо указать полное имя владельца сертификата, а в поле Organizational Unit - название вашей площадки или бренда.
- Organizational Unit (необязательное поле: отдел/департамент) - IT
- Common Name (Имя домена, на который оформляется SSL-сертификат) - сайт
В итоге вот содержимое этих файлов, содержимое ca.csr, нужно передать удостоверяющему центру, для выпуска вашего сертификата.
Самый удобный способ для начинающих веб-мастеров, так как не требует абсолютно никаких знаний в администрировании серверов. Вы просто открываете онлайн форму и заполняете поля, на выходе вы получите CSR запрос. Я вам предложу два сервиса, которыми пользуюсь. Первый это emaro-ssl , о нем я рассказывал в статье про выпуск сертификата на 3 года за 1800 рублей. Заполняем поля и нажимаем сгенерировать.
Вам будет создан Certificate Signing Reques запрос, а так же закрытый ключ.
Второй сервис делающий csr запрос на сертификат это sslcertificate.ru , вы также заполняете все поля и жмете сгенерировать CSR. Вы итоге вы так же получаете закрытый ключ и сам запрос на сертификат. Его вам позволят сохранить и так же продублируют на почту. Обратите внимание справа есть ссылка на декодер CSR, он позволяет расшифровать эту абракадабру. В специальное поле вбиваем ваш Certificate Signing Reques и жмем декодировать.
В итоге вы получаете всю контактную информацию.
Чтобы привязать SSL-сертификат к домену или субдомену, нужно сгенерировать CSR. CSR — это закодированная информация для центра сертификации, который будет выпускать сертификат. В CSR входит ваше имя или название компании, адрес и домен. SSL будет выдан на домен, который указан в CSR, поэтому проверьте, правильно ли вы его написали.
Для чего нужен онлайн CSR SSL-генератор:
1. Сгенерировать CSR запрос на выдачу SSL-сертификата (Code Signing Request, CSR).
2. Получить приватный 2048-bit ключ для установки на сервер.
Перед генерацией CSR-запроса посмотрите короткую инструкцию , чтобы не ошибиться.
Для тех, кто генерирует CSR-запрос на сертификат с поддержкой субдоменов (Wildcard SSL): в поле «Доменное имя» используйте формат: *.moydomen.com
Как сгенерировать CSR-запрос
Заполните поля на английском. Если что-то непонятно, задайте вопрос в нашем чате. Что указывать в полях генератора:
Название или имя:
Доменное имя (Common Name)
— домен или поддомен, на который будет установлен сертификат.
Организация (Organization)
— название компании или ФИО человека, на которого оформляется сертификат.
Отдел (Organization Unit)
— отдел, который покупает сертификат. Если вы не организация или у вас нет отдела, укажите IT
.
Адрес компании или человека, на которого оформляется сертификат:
Город (Locality)
— город. Пример: Kharkiv
.
Область/Штат (State)
— область. Пример: Kharkivska Oblast
.
Страна (Country)
— страна в виде кода из двух символов. UA для Украины, RU для России.
Email
— электронная почта административного контакта.
Об особенностях генерации CSR для разных типов SSL-сертификатов читайте в
If you are interested what is CSR and how to generate CSR, we advise you to read this article. To purchase an SSL certificate you need to generate a special CSR request (Certificate Signing Request). CSR code contains encrypted text with information about your company and domain name that you want to register the certificate.
How to generate CSR
If you work with ISPmanager read “Creating the CSR request “. If you work with Apache “CSR request for Apache “. If you are using cPanel - “ “. This manual is only for the cases when you are using some other method and require general instructions.
To create a CSR request in most cases, you must specify the following data (these are indicated by Roman letters)
- Country . In this field you have to enter 2 symbols – the ISO code (eg., US for USA, GB for Great Britain etc.). You may find out the code of your country in ISO 3166-1 list (Alpha-2).
- State/Province and Locality/City . Self-explanatory, but do note, that you should put in full names of both. For example, Sherwood, Washington County, Oregon is correct, while Sherwood, Washington, Oregon is not.
- Organization . In this field you need to specify the full legal name of company or private entrepreneur, if the certificate is issued to him.
- Organizational Unit. Specify the department purchasing the certificate (eg., IT Department).
- Common Name.
Enter the name of the domain which you are purchasing certificate for. Eg., www.сайт
.
Important
- CSR code size must be 2048 bit. All other standards may not be supported.
- If you are going to buy GeoTrust certificate, enter the full domain name. Eg., certificate for www.domain.com will not work with domain.com .
- If you are going to buy Wildcard SSL certificate, enter “*” and “.” before the domain name, eg., *.сайт . It means that before the domain name, there can be any sequence of symbols not containing fullstop.
After you had generated the CSR request open the file with any text editor and copy text together with tags BEGIN and END . This text is required for SSL certificate generation.
CSR (Certificate Signing Request) — это зашифрованный запрос на выпуск сертификата, содержащий подробную информацию о домене и организации. Генерация CSR является необходимой процедурой подготовки к получению SSL-сертификата. Сгенерированный CSR включается в анкету на получение сертификата.
Как сгенерировать CSR?
При заказе сертификата вам будет предложено сгенерировать CSR автоматически. Форма автоматической генерации CSR доступна по .
Если же вы хотите генерировать CSR самостоятельно, выполните следующие действия.
Инструкция актуальна для linux-подобных операционных систем (CentOS, Debian, Ubuntu…). Все действия необходимо производить в командной строке (в терминале).
Если у вас заказан сервер VPS или хостинг сайтов, вы можете сгенерировать CSR прямо на нём, подключившись по SSH:
Сохраните в надежном месте файл private.key . Впоследствии он потребуется для установки сертификата на сервер. Никогда и никому не показывайте содержимое этого файла, иначе можете нарушить секретность информации, что может привести к неожиданным последствиям и санкциям со стороны сертифицирующей компании.
Повтор команды генерации не сделает точно такого же ключа — это будет другой ключ, и нужно будет снова генерировать для него CSR и перевыпускать сертификат.
Порядок подготовки CSR-запроса для получения SSL-сертификата. Внимание! Храните сформированные конфиденциальные данные с недоступном для посторонних лиц месте! Не забудьте сохранить копию приватного ключа *.key - в случае утери данного файла, Вам необходимо будет заказать новый сертификат. Данное руководство предназначено для работы с Apache + Mod SSL + OpenSSL, но может использоваться и в другом окружении.
Для Клиентов хостинга КОМТЕТ эти действия могут быть выполнены нашими сотрудниками по запросу. Вы так же можете воспользоваться .
Для формирования CSR-запроса для Вашего сайта используйте данную пошаговую инструкцию. В результате вы получите CSR-запрос, который потребуется для получения SSL-сертификата.
Пошаговая инструкция:
Шаг 1. OpenSSL
Установите OpenSSL , если данная программа отсутствует на Вашем сервере.
Шаг 2. Создание RSA-ключа для веб-сервера Apache
Перейдите в директорию для создания ключей:
cd /apacheserverroot/conf/ssl.key
(ssl.key - директория по умолчанию для ключей).
Если вы используете другой путь, то перейдите в директорию веб-сервера Apache для закрытых ключей.
Введите следующую команду для генерации зашифрованного приватного ключа. Вам будет предложено ввести пароль для доступа к файлу. Данный пароль также необходимо будет вводить каждый раз при запуске веб-сервера (чтобы избежать этого, оставьте пароль пустым).
Внимание: в случае утери пароля необходимо будет заказывать новый сертификат.
openssl genrsa -des3 -out domainname.key 2048
Вы можете создать приватный ключ и без использования шифрования, если Вы не желаете вводить пароль при каждом запуске веб-сервера:
openssl genrsa -out domainname.key 2048
Минимальный размер ключа для CSR-запроса равен 2048 бит.
Шаг 3. Получение CSR-файла
Введите следующую команду для создания CSR с приватным ключом RSA (на выходе будет получен PEM-формат):
openssl req -new -key domainname.key -out domainname.csr
Примечание: Если на Шаге 2 вы использовали ключ "-des3", то будет запрошен пароль для PEM-формата.
При создании CSR необходимо придерживаться следующих правил. Введите информацию, которая будет отображаться в сертификате. Нельзя использовать следующие символы: < > ~ ! @ # $ % ^ * / \ () ? . , &
DN - поле |
Пояснение |
Пример |
Common Name | Полное доменное имя для вашего веб-сервера. Оно должно в точности совпадать. | Если вы предполагаете использовать следующий URL: https://www.yourdomain.com,
то "Common Name" должно быть www.yourdomain.com Для WildCard-сертификатов указывайте со звездочкой. Пример: *.yourdomain.com |
Organization | Точное наименование организации в соответствии с Уставом организации на английском языке. Не используйте сокращенное наименование организации. | YourCompany |
Organization Unit | Наименование отдела, подразделения (на английском языке). | Marketing |
City or Locality | Город, где официально зарегистрирована организация (на английском языке). | Moscow |
State or Province | Область, в которой официально зарегистрирована организация (на английском языке). | Moscow |
Country | Страна, в виде двухсимвольного ISO-кода. Для России: RU. | RU |
Не вводите дополнительные атрибуты и оставьте пароль пустым (нажмите Enter).
Для частных, физических лиц, в полях Организация и наименование подразделения указывайте в латинской транскрипции ФИО, например Ivanov I Ivan.
Примечание: для проверки содержимого CSR используйте следующую команду:
openssl req -noout -text -in domainname.csr
Шаг 4 .
Отправьте нам CSR-файл, как описано в Порядке получения SSL-сертификата .
Приватный ключ должен начинаться
-----BEGIN RSA PRIVATE KEY----- и заканчиваться -----END RSA PRIVATE KEY-----.
Для просмотра содержимого приватного ключа используйте следующую команду:
openssl rsa -noout -text -in domainname.key
Для других веб-серверов инструкцию по получению CSR можно найти .