Являются ли.pem и.cer взаимозаменяемыми?
Я знаю, что.pem в кодировке base 64 и.cer - это сертификат, который может быть в кодировке.pem.
Вопрос: Я использовал.cer в нашем приложении. Поскольку срок действия сертификата истекает, мы получили новый сертификат в формате.pem. Можем ли мы начать использовать.pem как есть или я должен преобразовать его в.cer перед использованием?
Я новичок в теме, связанной с сертификатом. Любые учебники / веб-сайты могут быть полезны.
Спасибо за помощь.
1 ответ
Насколько я знаю, существует 2 типа кодирования, в которых вы можете сохранить сертификат (или закрытый ключ, CRL, PKCS#12 и т. Д.). Эти 2 кодировки
- PEM
- DER
PEM - это кодировка base64, обычно используемая с некоторыми заголовками и заключенная в 64 символа в строке. Пример сертификата в кодировке PEM:
-----BEGIN CERTIFICATE-----
MIIDOTCCAiGgAwIBAgIBBTANBgkqhkiG9w0BAQUFADAfMQswCQYDVQQGEwJTSzEQ
MA4GA1UEAxMHaWRzcnZDQTAeFw0xNDA0MDUxMjA5MDBaFw0xNTA0MDUxMjA5MDBa
.....
VMO1CaARu0mgMZv3dw==
-----END CERTIFICATE-----
DER - это двоичная кодировка, которую можно преобразовать в кодировку PEM с помощью функции кодирования base64, а также с помощью обертки и заголовков. Он представляет собой структуру ASN.1, определенную в RFC 5280, которая
профилирует сертификат X.509 v3 и список отзыва сертификатов X.509 v2 (CRL) для использования в Интернете
, Windows может использовать обе кодировки, и не имеет значения, имеет ли файл расширение.cer или.crt (или, возможно, другие). Ему удается использовать сертификат в кодировке PEM, даже если он не содержит 64 символа в строке или даже если у него нет заголовков. Openssl отличается от других и требует, чтобы сертификат в кодировке PEM имел заголовки и имел 64 символа на одну строку. Итак, как вы можете видеть, это зависит от приложения.
Я бы посоветовал вам заглянуть в ваш файл.pem и посмотреть, какая кодировка используется (используйте ваш любимый редактор). Затем используйте точно так же, как в файле.cer (просто для безопасности, потому что я не знаю, какое приложение вы имеете в виду). Если вы хотите, вы также можете переименовать файл.pem в файл.cer, но я не думаю, что это будет необходимо.
О, есть и третья кодировка (которую я редко вижу) - HEX-кодировка. Это практически DER, представленный в виде шестнадцатеричных символов. Вы можете конвертировать из HEX в DER, используя certutil (в Windows).