Я использовал учебник, который находится здесь https://info.ssl.com/how-to-der-vs-crt-vs-cer-vs-pem-certificates-and-how-to-conver-them/

На моем сервере я оплатил сертификат, а не самоподписанный.

Я хочу включить SSL на моем сервере apache2 и в 000-default.conf мне нужно вставить файл .cer .

    SSLCertificateFile /ets/ssl/example.pl.crt
    SSLCertificateKeyFile /etc/ssl/example.key

Как я понимаю, файл .der - это зашифрованный файл .cer .

Так что я должен конвертировать .der в файл .cer или мое мышление не так? Я хочу глубоко понять, как настроить SSL, но сейчас это больше похоже на черную магию, и я не могу найти хорошую ссылку для этого ..

1 ответ1

4

Сертификаты X.509 всегда в формате DER, но обычно они хранятся двумя способами:

  1. Необработанный двоичный DER (обычные расширения: .der, .cer)
  2. Текстовый, DER-кодированный в Base64, иногда называемый "PEM" (обычные расширения: .crt, .pem)

Обратите внимание, что расширения на самом деле не установлены в камне - .cer может быть текстовым, .crt может быть двоичным и так далее. Вы должны на самом деле заглянуть внутрь.

(Шифрование не используется; сертификат является публичной информацией.)

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

openssl x509 -in mycert.der -inform DER -out mycert.pem

# both -inform and -outform default to "PEM" if not specified otherwise

Или, поскольку это просто Base64,

(echo "-----BEGIN CERTIFICATE-----";
 base64 < mycert.der;
 echo "-----END CERTIFICATE-----") > mycert.pem

Однако каким бы способом вы ни пользовались, не забудьте добавить цепочку сертификатов ("эмитент" или "промежуточные" сертификаты, полученные из вашего ЦС) в один и тот же файл PEM. Большая часть программного обеспечения ожидает всего этого в одном файле, хотя Apache использовал отдельный параметр SSLCertificateChainFile в v2.2.x.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .