Как сертификат в виде открытого текста кодируется в формате PEM / CRT?

#ssl #x509 #client-certificates #pem

#ssl #x509 #клиент-сертификаты #pem

Вопрос:

Я только что купил сертификат SSL у своего регистратора домена.

Они только предоставили мне:

  • Открытый текст CSR
  • Открытый текст промежуточного и корневого сертификатов CA (?)
  • Открытый текст моего SSL-сертификата

(файл без ключа)

Мне пришлось скопировать открытый текст с их веб-страницы после того, как они волшебным образом создали сертификат.

Мой сертификат SSL выглядит так:

 -----BEGIN CERTIFICATE-----
MIIGJTCCBQ2gAwIBAgIQD5EJV21qWTH5W6AhivSAEzANBgkqhkiG9w0BAQsFADBZ
<more string>
-----END CERTIFICATE-----
  

Вопросы:

  1. Если я создам новый файл «cert.pem» и просто вставлю в него открытый текст моего SSL-сертификата, будет ли он полностью закодирован в pem или мне придется его дополнительно обрабатывать?

  2. Что, если я создам новый файл «cert.crt«? Могу ли я просто вставить туда открытый текст моего SSL-сертификата без дальнейшего кодирования?

  3. Может ли любой файл теперь передаваться как сертификат клиента в запросах HTTPS?

Редактировать: как упоминал @Marc, я должен был сказать «текст» выше, а не «открытый текст». Помимо заголовков, сертификат не в виде открытого текста.

Ответ №1:

То, что вы называете «открытым текстом», — это кодировка PEM, которая представляет собой кодировку base-64 файла DER (или BER или CER) с дополнительными заголовками.

.crt обычно используется для кодирования PEM. Но фактическое расширение не имеет значения.

Вы определенно можете использовать показанный сертификат в своем клиенте (как это сделать, зависит от используемого языка).

Однако вам понадобится ключ. Если вы отправили им CSR, ключ уже должен быть в вашем распоряжении (вы отправили им открытый ключ как часть CSR, но закрытый ключ остался у вас). Если вы не отправили им CSR, они сгенерировали для вас пару ключей и должны иметь возможность загрузить закрытый ключ.

Комментарии:

1. Спасибо @Marc. SSL приобретен у name.com . Они сгенерировали для меня пару ключей, но не смогли загрузить pk. Я проверю их поддержку.

2. Закрытый ключ обычно загружается только один раз, когда он генерируется, но это зависит от поставщика. В их документах, вероятно, что-то упоминается.