В чем разница между .pem
,.cer
и .der
?
Насколько мне известно, .cer
содержит открытый ключ. Существуют ли какие-либо открытые платформы, которые я могу использовать для шифрования моих данных с помощью этого открытого ключа?
encryption
cryptography
rsa
LiangWang
источник
источник
cp
может подойти команда :)Ответы:
.pem
,.cer
и.der
все расширения файлов для файлов, которые могут содержать сертификат X.509 v3..der
расширениеDER - это метод кодирования данных, составляющих сертификат. Сам DER может представлять любые данные, но обычно он описывает закодированный сертификат или контейнер CMS.
Структура сертификата описывается с использованием языка представления данных ASN.1. BER и DER - это методы двоичного кодирования данных, описанных в ASN.1.
.pem
расширениеPEM - это метод кодирования двоичных данных в виде строки (броня ASCII). Он содержит верхний и нижний колонтитулы (с указанием типа данных, которые закодированы, и с указанием начала / конца, если данные объединены в цепочку), а данные в середине являются данными base 64. В случае, если он кодирует сертификат, он будет просто содержать кодировку base 64 сертификата DER. PEM расшифровывается как Privacy Enhanced Mail; mail не может напрямую содержать незашифрованные двоичные значения, такие как DER.
PEM может также кодировать / защищать другие виды данных, относящиеся к сертификатам, такие как открытые / закрытые ключи, запросы сертификатов и т. Д. Если содержимое является общим сертификатом X509v3, то PEM кодируется как:
Обратите внимание, что файл PEM также может содержать полную цепочку сертификатов, где цепочка начинается с конечного / конечного сертификата службы, за которым следует сертификат, который ее подписал, обычно до, но не включая доверенный корневой сертификат. Поэтому, если вам не хватает сертификатов, вы можете взглянуть на первый.
.cer
Или.crt
расширение.cer
просто означает сертификат. Обычно это данные в кодировке DER, но Windows также может принимать данные в кодировке PEM. Вам необходимо взглянуть на содержимое (например, с помощьюfile
утилиты в системах posix), чтобы увидеть, что находится в файле, чтобы быть уверенным на 100%.Другие форматы OpenSSL
Взгляните на этот ответ, чтобы увидеть более обширный список того, что поддерживается OpenSSL.
Чтобы использовать открытый ключ, содержащийся в сертификате (и подписанный подписью в сертификате), вы должны использовать любую библиотеку, которая анализирует сертификаты X.509 и выполняет шифрование RSA. Вы можете использовать инструмент, который обнаруживает / обрабатывает кодировку PEM, или вы можете сначала преобразовать сертификат в DER, удалив кодировку PEM.
Командная строка OpenSSL содержит множество параметров для преобразования между PEM и DER, распечатки информации сертификата высокого уровня или анализа ASN.1, чтобы получить низкоуровневое представление о том, что там находится.
Детали
Как и большинство структур ASN.1, сертификат в кодировке DER всегда начинается с байта,
30
который является кодировкой тега ASN.1SEQUENCE
. Если вы видите много повторений в файле, это нормально; это просто структура , которая строго определена.Аналогичным образом, база 64 в файле, закодированном с помощью PEM, всегда начинается с буквы,
M
поскольку ASN.1SEQUENCE
начинается с байта30
, поэтому первые 6 битов001100
преобразуются в число 12, которое является индексом буквыM
, тринадцатая буква алфавита.источник