openssl req - создание CSR-запроса

openssl req - создание CSR-запроса

Для получения сертификата требуется создать CSR-запрос (Certificate Signing Request), который после отправляется на подпись (signing) нужному издателю. Рассмотрим данный процесс на реальных примерах с вариантами "автоматизации" сего процесса (генерирования CSR).

Генерация CSR-запроса для HTTPS (SSL-сертификата на сайт)

Самая стандартная ситуация - нужен сертификат для сайта.

1. Сначала с помощью команды openssl genrsa создадим файл ключей.

2. Далее создаём CSR-запрос:

root@debian-x64-6:/home/certificategenerate# openssl req -out MySite.csr -key MyPrivate-RSA.key.pem -new
Enter pass phrase for MyPrivate-RSA.key.pem:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----

Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Kemska Volost
Locality Name (eg, city) []:Kazan
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Shpak LTD
Organizational Unit Name (eg, section) []:Miloslavskoe Otdelenie
Common Name (eg, YOUR name) []:linuxcmd.ru
Email Address []:info@linuxcmd.ru

Please enter the following 'extra' attributes
to be sent with your certificate request

A challenge password []: (ничего не вводим - жмём Enter)
An optional company name []:
(ничего не вводим - жмём Enter)
root@debian-x64-6:/home/certificategenerate#

Не все поля можно-нужно вводить.
Обычно "обязательными" являются "Country Name" (страна, две буквы), "Locality Name" (город), "Common Name" (самое главное - здесь имя домена сайта, без www) и "Email Address".
Для "корпоративных" сайтов (юрлицо) также обычно прописывается "Organization Name" и если есть подразделение/филиал/итп "Organizational Unit Name".
Второй блок данных "'extra' attributes" просто игнорируем (тискаем ввод).

На выходе получаем файл запроса MySite.csr, который загружаем туда, где будете получать сертификат (например, в админке GoDaddy). После подписания которого вам вернут "уже готовый" *.crt файл (плюс довесок в виде файла intermediate-сертификатов, если таковые имеются - у GoDaddy точно есть), имея который и ранее сгенерированный MyPrivate-RSA.key.pem можно благополучно настроить https.

Создание Certificate Signing Request для генерации Provisioning профиля

(актуально для разработчиков Apple, не имеющих под рукой макинтоша, но имеющих доступ к Linux)

На этом реальном примере покажем, как такой запрос можно выполнить "автоматически" (без диалога) и в одну команду (сразу и генерацию файла ключей и csr-запроса):

root@debian-x64-6:/home/certificategenerate# openssl req -out AppleProvisionProfile.csr -new -newkey rsa:2048 -subj /emailAdress=info@linuxcmd.ru/CN=’MyNameLuchsheBezProbelov’/C=US -nodes -keyout AppleProvisionProfile-key.pem -passout pass:12345678
Generating a 2048 bit RSA private key
........................................................+++
................................+++
writing new private key to 'AppleProvisionProfile-key.pem'
-----
Subject Attribute emailAdress has no known NID, skipped

root@debian-x64-6:/home/certificategenerate#

Для Provisioning-сертификата "не нужны никакие поля", потому указываем там лишь вашу почту от AppleID + имя (и то, вроде можно без них, но с ними точно работает). На предупреждение не обращаем внимание. Загружаем его в админку разработчика Apple и радуемся.

 

Если вам помогла или просто понравилась статья - плюсаните/поделитесь, пожалуйста.

Добавить комментарий