По сути сертификат X.509 – это цифровой документ, который был зашифрован и/или имеет цифровую подпись согласно RFC 5280.
Фактически термин сертификат X.509
как правило подразумевает сертификат IETF’s PKIX и профайл CRL стандарта X.509 v3, который описывается в RFC 5280, более широко известный как PKIX – Public Key Infrastructure (X.509).
Содержание
Расширения файла X509
Первое, с чем необходимо разобраться – это чем является каждый из типов расширений, т.к. у многих возникают сложности с пониманием разницы между типами файлов DER
, PEM
, CRT
и CER
и многие говорят – что они взаимозаменяемы.
И хотя в некоторых случаях они могут заменить друг друга – правильной практикой является определить тип сертификата и задать ему верное расширение.
Кодировка (так же известна как расширение)
.DER
– расширение.DER
примеяется к двоичным файлам сертификатов. Такие файлы так же могут иметь расширение.CER
или.CRT
. Правильным примером использования в английском языке будет “I have a DER encoded certificate” или “I have a DER certificate“..PEM
– используется для различных типов файлов X.509v3, которые содержат данные в виде ASCII (Base64), и начинаются со строки—– BEGIN
.
Распространенные расширения файлов
.CRT
– расширение для файлов сертификатов. Сам сертификат может быть бинарным файлом.DER
или ASCII –.PEM
. Расширения.CER
и.CRT
фактически являются синонимами. Наиболее часто встречаются в UNIX-системах..CER
– альтернативная форма.CRT
у Microsoft..KEY
– это расширение используется для публичных и приватных ключей PKCS#8, которые могут храниться в бинарном.DER
или ASCII.PEM
формате.
.CRT
и .CER
могут быть взаимозаменяемы только если они имеют один формат (т.е. – CRT
-ключ в формате PEM
== CER
-ключу в PEM
формате).
Получение данных о сертификате
Для получения данных о сертификаты – можно использовать openssl
, например:
# openssl x509 -in /etc/apache2/ssl/apache.pem -text Certificate: Data: Version: 3 (0x2) Serial Number: 15118644328740439277 (0xd1d036ea3c0c44ed) Signature Algorithm: sha256WithRSAEncryption ... Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) ... X509v3 extensions: X509v3 Subject Key Identifier: 45:31:3E:0F:DF:12:FE:12:1A:52:00:5F:D5:9B:F5:70:9D:20:A6:A0 X509v3 Authority Key Identifier: keyid:45:31:3E:0F:DF:12:FE:12:1A:52:00:5F:D5:9B:F5:70:9D:20:A6:A0 X509v3 Basic Constraints: CA:TRUE Signature Algorithm: sha256WithRSAEncryption ... -----BEGIN CERTIFICATE----- MIICsjCCAhugAwIBAgIJANHQNuo8DETtMA0GCSqGSIb3DQEBCwUAMHIxCzAJBgNV ... 3TTE1C50wQTP3d7FPRY01/zc9guxUg== -----END CERTIFICATE-----
Конвертация PEM > DER
Что бы сконвертировать PEM
в DER
– выполните:
# openssl x509 -outform der -in /etc/apache2/ssl/apache.pem -out /etc/apache2/ssl/apache.der
Получить данные из DER
-файла ключа можно так:
# openssl x509 -in /etc/apache2/ssl/apache.der -inform der -text Certificate: Data: Version: 3 (0x2) Serial Number: 15118644328740439277 (0xd1d036ea3c0c44ed) Signature Algorithm: sha256WithRSAEncryption ... Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) ... X509v3 extensions: X509v3 Subject Key Identifier: 45:31:3E:0F:DF:12:FE:12:1A:52:00:5F:D5:9B:F5:70:9D:20:A6:A0 X509v3 Authority Key Identifier: keyid:45:31:3E:0F:DF:12:FE:12:1A:52:00:5F:D5:9B:F5:70:9D:20:A6:A0 X509v3 Basic Constraints: CA:TRUE Signature Algorithm: sha256WithRSAEncryption ... -----BEGIN CERTIFICATE----- MIICsjCCAhugAwIBAgIJANHQNuo8DETtMA0GCSqGSIb3DQEBCwUAMHIxCzAJBgNV ... 7agttGBmXpVSy0Gu0uwyz3d4Loq0Nxz/UNXf00kH6p6taTSJWtqJC8yCBvMVSuVn 3TTE1C50wQTP3d7FPRY01/zc9guxUg== -----END CERTIFICATE-----
Ссылки по теме
https://ru.wikipedia.org/wiki/TLS