Вопросы и ответы Генерация приватного ключа и создание CSR-запроса на UNIX-like операционных системах.

1. Криптографический пакет OpenSSL

Для работы необходимо использовать криптографический пакет с открытым исходным кодом – OpenSSL. Данный пакет позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT.

OpenSSL доступен для большинства UNIX-like операционных систем и, как правило, включен в базовую версию операционной системы. Официальный сайт – www.openssl.org

2. Генерация приватного ключа

Для генерации 2048 битного приватного ключа стандарта RSA Вам необходимо выполнить на сервере следующие действия:

  • Выполните команду openssl genrsa -des3 -out private.key 2048
  • На запрос «Enter pass phrase for private.key» - придумайте и введите пароль для генерируемого приватного ключа
  • На запрос «Verifying - Enter pass phrase for private.key» - подтвердите введенный ранее пароль
2037 ssl # openssl genrsa -des3 -out private.key 2048
Generating RSA private key, 512 bit long modulus
.........++++++++++++
.++++++++++++
e is 65537 (0x10001)
Enter pass phrase for private.key: Ваш пароль
Verifying - Enter pass phrase for private.key: Подтверждение пароля
2037 ssl # ls
private.key
2037 ssl # less private.key

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,020B11D743417F12

oWfvhy4UqQKX3EEajBvJPmX92GF2HYC9SLlB39+nF2onp9muhJAPwtKt9Xkj3GIm
ZSHm6u+nAGl9lOdXRCGWf9AS+dqURiPWQq8X1JlK+rdBYvsLEwqeN34b/pfESTql
yxQNF+uesLh6RGFQrGxpIyRWC5TQZp7eLdng8W11cWzbSPrViTF2qSdln8j4kvRo
6Yxh7wFNliFNOQKu8cOt9pwlZ4nLS7yr4D3pqnXUT9BskHL4YyItENeo2owpJ4Yy
hHfmFB9GeCFd6IAnPLWjG+hlg9uUuXKkMgMT/fUMnaa6QqkBLrFOMwnK4bOriGt9
4Qn65D4/XTFb1PsV+cHYC8TB8tMini3qLwWxlHqe4BBjIGp4B5jP5Xx3aXlEHknm
im2DD598iTEW7rszeDi6q/i1Lv2zQMi7G94INuOQinY=
-----END RSA PRIVATE KEY-----

private.key lines 1-12/12 (END)

Создавшийся файл private.key – это и есть Ваш приватный ключ.

Внимание! Если приватный ключ будет утерян или пароль от него забыт – сертификат станет неработоспособным. Имеет смысл сделать копию приватного ключа на безопасном носителе.

3. Создание CSR-запроса

Для создания CSR-запроса Вам необходимо выполнить на сервере следующие действия:

  • 1. Выполните команду openssl req -new -key private.key -out server.csr
  • 2. На запрос «Enter pass phrase for private.key» ввести пароль от Вашего приватного ключа private.key
  • 3. Далее Вам будет предложен ряд вопросов, ответы на которые и сформируют Ваш CSR-запрос на сертификат. Рекомендации по заполнению полей.
  • 4. Поля «A challenge password» и «An optional company name» заполнять не нужно.
2037 ssl # ls
private.key
2037 ssl # openssl req -new -key private.key -out server.csr
Enter pass phrase for private.key: Ваш пароль
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]:Moscow
Locality Name (eg, city) []:Moscow
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organization Name
Organizational Unit Name (eg, section) []:IT Department
Common Name (eg, YOUR name) []:example.net
Email Address []:example@example.net

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
2037 ssl # ls
private.key server.csr
2037 ssl # less server.csr

-----BEGIN CERTIFICATE REQUEST-----
MIIBYDCCAQoCAQAwgaQxCzAJBgNVBAYTAlJVMQ8wDQYDVQQIEwZNb3Njb3cxDzAN
BgNVBAcTBk1vc2NvdzEaMBgGA1UEChMRT3JnYW5pemF0aW9uIE5hbWUxFjAUBgNV
BAsTDUlUIERlcGFydG1lbnQxGzAZBgNVBAMTEkZpcnN0bmFtZSBMYXN0bmFtZTEi
MCAGCSqGSIb3DQEJARYTZXhhbXBsZUBleGFtcGxlLm5ldDBcMA0GCSqGSIb3DQEB
AQUAA0sAMEgCQQCYRvJMmpmojVg8Om4mBevZYDxwLnKBkPrEWiG68mrCHjN1Uxah
eH9jzjylygwipRwqlsvAHn+NZEybC/eLhhEtAgMBAAGgADANBgkqhkiG9w0BAQUF
AANBAEIJV0d+ObllgaVgNxwk5JdP6m1S+Tvu7GRXcNMacaWvMbIRAU6d42m/QQzE
Dfk38B2LpnEAdaWpOZJkbn3HuuY=
-----END CERTIFICATE REQUEST-----
server.csr lines 1-10/10 (END)
	

Создавшийся файл server.csr – это и есть CSR-запрос на получение сертификата, который Вы должны передать нам для последующей обработки сертификационном центром Comodo или Thawte.

SSL-сертификаты