{{tag>[ssl certificate]}}

====== Сертификаты ======

Этапы замены SSL-сертификата узла кластера при самостоятельном создании файлов приватного ключа и сертификата

Вы получите от удостоверяющего центра один из следующих файлов:
  * Элемент ненумерованного спискафайл подписанного сертификата формата X.509 с расширением CER или CRT;
  * Элемент ненумерованного спискафайл цепочки сертификатов в формате PKCS#7 с расширением P7B. Файл включает подписанный по вашему запросу сертификат сайта и сертификаты промежуточных центров сертификации.

==== Конвертация сертификата из кодировки DER в PEM-кодировку ====

Получение файлов приватного ключа и сертификата от удостоверяющего центра. Приватный ключ и сертификат предоставляются в виде PFX-контейнера (формат PKCS#12, файл с расширением PFX или P12).
Если в качестве удостоверяющего центра в вашей организации используется стандартная служба Active Directory Certification Services, следует использовать шаблон Web Server для создания сертификата. 
Вам нужно сохранить результат в виде цепочки сертификатов (certificate chain) в DER-кодировке.

Конвертация сертификата из кодировки DER в PEM-кодировку
После выполнения запроса на выписку сертификата удостоверяющий центр может предоставить подписанный сертификат в формате X.509 (файл с расширением CER или CRT).
Файл сертификата в формате X.509 может быть представлен в двух кодировках:

  * DER encoded (DER-кодировка).
  * Base64 encoded (PEM-кодировка).

<code bash>
$ openssl x509 -in source.cer -inform DER -out cert.pem
</code>

==== Извлечение цепочки сертификатов из контейнера PKCS#7 ====

После выполнения запроса на выписку сертификата удостоверяющий центр может предоставить цепочку сертификатов в формате PKCS#7 (файл с расширением P7B). Цепочка включает подписанный по вашему запросу сертификат сайта, а также сертификаты промежуточных центров сертификации.
Файл в формате PKCS#7 может быть представлен в двух кодировках:

  * DER encoded (DER-кодировка).
  * Base64 encoded (PEM-кодировка).

Для дальнейшего использования необходимо извлечь сертификаты из контейнера и получить файл в кодировке PEM. Конвертацию можно выполнить с помощью утилиты openssl.

Чтобы конвертировать файл формата PKCS#7 в DER-кодировке, используйте команду:
<code bash>
$ openssl pkcs7 -in source.p7b -inform DER -print_certs -out cert.pem
</code>

Чтобы конвертировать файл формата PKCS#7 в PEM-кодировке, используйте команду:
<code bash>
$ openssl pkcs7 -in source.p7b -inform PEM -print_certs -out cert.pem
</code>

==== Извлечение файлов сертификата и приватного ключа из PFX-контейнера ====

Если удостоверяющий центр предоставил сертификат в форме PFX-контейнера (формат PKCS#12, файл с расширением PFX или P12), необходимо самостоятельно извлечь из него файлы сертификата и приватного ключа в PEM-кодировке.

Извлечение файлов сертификата и приватного ключа можно выполнить с помощью утилиты openssl. В процессе извлечения файлов потребуется ввести парольную фразу от PFX-контейнера.

Чтобы извлечь файл приватного ключа, используйте команду:

<code bash>
$ openssl pkcs12 -in source.pfx -nocerts -nodes -out key.pem
</code>

Чтобы извлечь файл сертификата, используйте команду:

<code bash>
$ openssl pkcs12 -in source.pfx -clcerts -nokeys -out cert.pem
</code>

В результате вы получите следующие файлы:

  * key.pem – файл приватного ключа RSA в PEM-кодировке (без парольной фразы);
  * cert.pem – файл сертификата формата X.509 в PEM-кодировке.
===== Ссылки =====

{{topic>[ssl certificate]}}