Мне нужно настроить сервер Apache 2 с SSL.
У меня есть файл * .key, но вся документация, которую я нашел в Интернете, указаны файлы * .crt, а мой центр сертификации предоставил мне только файл * .cer.
Файлы * .cer - это то же самое, что * .crt? Если нет, как я могу преобразовать CER в формат CRT?
CER
аCRT
расширения ничего не значат. Разные поставщики PKI используют разные расширения для одного и того же. Если файл двоичный, то, вероятно, он закодирован в ASN.1 / DER. Если файл доступен для чтения человеком-----BEGIN CERTIFICATE-----
, то его кодировка PEM. Что у вас есть (DER или PEM) и что вам нужно (DER или PEM)?Ответы:
Расширения файлов для криптографических сертификатов на самом деле не так стандартизированы, как можно было бы ожидать. Windows по умолчанию обрабатывает двойной щелчок по
.crt
файлу как запрос на импорт сертификата в хранилище корневых сертификатов Windows, но обрабатывает.cer
файл как запрос только на просмотр сертификата. Итак, они разные в том смысле, что Windows имеет различное значение для того, что происходит, когда вы дважды щелкаете каждый тип файла.Но то, как Windows обрабатывает их, когда вы дважды щелкаете по ним, - это почти единственная разница между ними. Оба расширения просто представляют, что они содержат публичный сертификат. Вы можете переименовать файл сертификата, чтобы использовать одно расширение вместо другого в любой системе или файле конфигурации, который я видел. А на платформах, отличных от Windows (и даже в Windows), люди не особо заботятся о том, какое расширение они используют, и рассматривают их как взаимозаменяемые, поскольку между ними нет разницы, если содержимое файла правильное.
Еще больше сбивает с толку то, что существует два стандартных способа хранения данных сертификата в файле: один - «двоичная» кодировка X.509, а другой - «текстовая» кодировка base64, которая обычно начинается с «
-----BEGIN CERTIFICATE-----
». Они кодируют одни и те же данные, но по-разному. Большинство систем принимают оба формата, но при необходимости вы можете преобразовать один в другой с помощью openssl или других инструментов. Кодировка в файле сертификата действительно не зависит от того, какое расширение кто-то дал файлу.источник
Согласно документации mod_ssl :
Файл сертификата должен быть файлом сертификата X.509 в кодировке PEM:
источник
zscaler
работаютvagrant
наwin
(vbox
homestead
), установив наши доверенные корневые сертификаты в бродячий ящик? Я использовалscp
их, затем использовал ваше преобразование и связал их с ними,/etc/ssl/certs
а также скопировал содержимое вca-certificates.crt
файл перед повторной инициализацией, и все равно я получаю сообщениеgoogle-recaptcha
tls
ssl
об ошибкеfile_get_contents
в окне разработчика.В основном существует два типа кодировки сертификатов CER: DER и Base64. Когда тип DER возвращает сертификат загрузки с ошибкой (процедуры кодирования asn1), попробуйте PEM, и он должен работать.
openssl x509 -inform DER -in certificate.cer -out certificate.crt
openssl x509 -inform PEM -in certificate.cer -out certificate.crt
источник
Я предполагаю, что у вас есть файл .cer, содержащий данные сертификата в кодировке PKCS # 7, и вы хотите преобразовать его в данные сертификата в кодировке PEM (обычно файл .crt или .pem). Например, файл .cer, содержащий данные в кодировке PKCS # 7, выглядит так:
Данные сертификата PEM выглядят так:
Существует команда OpenSSL, которая преобразует файлы .cer (с данными PKCS # 7) в данные PEM, которые вы, возможно, ожидаете встретить (
BEGIN CERTIFICATE
блок в приведенном выше примере). Вы можете принудительно преобразовать данные PKCS # 7 в формат PEM с помощью этой команды в файле, который мы назовем certfile.cer:openssl pkcs7 -text -in certfile.cer -print_certs -outform PEM -out certfile.pem
Обратите внимание, что файл .cer или .pem может содержать один или несколько сертификатов (возможно, всю цепочку сертификатов).
источник
CER - это сертификат X.509 в двоичной форме в кодировке DER .
CRT - это двоичный сертификат X.509, заключенный в текстовую ( base-64 ) кодировку.
Это не та кодировка.
источник
Ответ на вопрос, как преобразовать файл .cer в файл .crt (они кодируются по-разному!):
источник
openssl x509 -inform der -in certificate.cer -out certificate.pem
unable to load PKCS7 object
Я использую команду:
openssl x509 -inform PEM -in certificate.cer -out certificate.crt
Но CER - это сертификат X.509 в двоичной форме, закодированный в DER. CRT - это двоичный сертификат X.509, заключенный в текстовую (base-64) кодировку.
Из-за этого вам, возможно, следует использовать:
openssl x509 -inform DER -in certificate.cer -out certificate.crt
А затем импортировать сертификат:
Скопируйте свой ЦС в каталог:
/usr/local/share/ca-certificates/
Используйте команду:
sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt
Обновите магазин CA:
sudo update-ca-certificates
источник
Если ваш файл cer имеет двоичный формат, вы должны преобразовать его с помощью
источник
Файлы .cer и .crt должны быть взаимозаменяемыми при их импорте в хранилище ключей.
Взгляните на содержимое файла .cer. Сотрите все, что находится перед
-----BEGIN CERTIFICATE-----
линией и после-----END CERTIFICATE-----
нее. У вас останутся строки BEGIN / END с кучей файлов в кодировке Base64 между ними.Затем просто импортируйте его в свой ключевой файл с помощью keytool.
источник
Просто сделать
источник