CSR (Certificate Signing Request) — это зашифрованный запрос на выпуск сертификата, содержащий подробную информацию о домене и организации. Генерация CSR является необходимой процедурой подготовки к получению SSL-сертификата. Сгенерированный CSR включается в анкету на получение сертификата.
Как сгенерировать CSR?
При заказе сертификата вам будет предложено сгенерировать CSR автоматически. Форма автоматической генерации CSR доступна по .
Если же вы хотите генерировать CSR самостоятельно, выполните следующие действия.
Инструкция актуальна для linux-подобных операционных систем (CentOS, Debian, Ubuntu…). Все действия необходимо производить в командной строке (в терминале).
Если у вас заказан сервер VPS или хостинг сайтов, вы можете сгенерировать CSR прямо на нём, подключившись по SSH:
Сохраните в надежном месте файл private.key . Впоследствии он потребуется для установки сертификата на сервер. Никогда и никому не показывайте содержимое этого файла, иначе можете нарушить секретность информации, что может привести к неожиданным последствиям и санкциям со стороны сертифицирующей компании.
Повтор команды генерации не сделает точно такого же ключа — это будет другой ключ, и нужно будет снова генерировать для него CSR и перевыпускать сертификат.
Добрый день уважаемые читатели блога сайт, сегодняшний пост не будет про новое обновление 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-сертификатов читайте в
Процесс генерации CSR отличается в зависимости от типа, версий и состава программного обеспечения, установленного на сервере.
Мы приводим инструкцию по генерации CSR для наиболее распространённого веб-сервера Apache . Если эта инструкция не подходит и используется другое серверное ПО, для генерации CSR обратитесь к администратору веб-сервера или в службу поддержки компании, предоставляющей хостинг для вашего сайта.
Для генерации секретного ключа (key) и запроса на сертификат (CSR) используется утилита OpenSSL. Эта утилита, как правило, входит в стандартную поставку веб-сервера Apache.
- В командной строке сервера введите команду: openssl req -newkey rsa:2048 -nodes -keyout www.mydomain.com.key -out www.mydomain.com.csr
- Введите информацию для запроса на подпись сертификата. Эта информация будет отображена в сертификате.
Внимание:
- вся информация должна вводиться на английском языке
- запрещено использовать символы: < > ~ ! @ # $ % ^ * / \ () ?.,&
Параметр Означает Пример Country Name Двухбуквенный ISO-код страны
RU State or Province Name
Область или край, где официально зарегистрирована организация. Moscow Locality Name Город, где официально зарегистрирована организация. Moscow Organization Name
Точное наименование организации в соответствии с Уставом организации на английском языке. Не используйте сокращенное наименование организации. MyCompany Inc Organizational Unit Name
Название отдела или подразделения (на английском языке). IT Common Name Полное доменное имя для веб-сервера в формате FQDN - Fully Qualifed Domain Name. Внимание! Все сертификаты, кроме Wildcard Certificate, защищают только один хост — например, либо сам домен вида "mydomain.ru" , либо "www.mydomain.ru" , либо любой субдомен вида "secure.mydomain.ru" . Будьте внимательны, Вам необходимо указать именно то имя домена, на которое выписывается сертификат. www.mydomain.com Email Address
Заполнять не требуется A challenge password
Заполнять не требуется An optional company name Заполнять не требуется - Проверьте CSR на правильность:
openssl req -noout -text -in www.mydomain.com.csr
Если CSR сгенерирован правильно, то в результате выполнения этой команды должен быть выдан примерно такой текст:
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=ru, ST=ddd, L=fff, O=ddd, OU=ss, CN=www.mydomain.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
[...]
В результате этих действий будет создан и сохранён в файле www.mydomain.com.csr запрос на сертификат (CSR). Также будет сгенерирован и сохранен в файл www.mydomain.com.key секретный ключ 2048 RSA.
Вы также можете воспользоваться клиентом OpenSSL для Windows , который позволит Вам проделать все необходимые действия по генерации секретного ключа и CSR непосредственно в среде Windows. Скачать клиент OpenSSL для Windows можно по следующей ссылке: http://www.slproweb.com/products/Win32OpenSSL.html . Этот клиент можно установить на локальный компьютер, и далее с его помощью Вы сможете выполнить все перечисленные выше команды и получить секретный ключ и CSR в файлах www.mydomain.com.csr и www.mydomain.com.key, которые будут сохранены на вашем компьютере.
После того, как вы сгенерировали CSR и получили сертификат , можно приступить к