PEM-сертификат (.pem)

IETF Стандарт

Формат защищенной электронной почты (PEM): это универсальный текстовый стандарт для криптографических ресурсов, понятный человеку. Он кодирует бинарные сертификаты и закрытые ключи DER в виде текста Base64, заключенного в характерные баннеры '-----BEGIN...-----'.

Конвертировать из CRT в PEM

Бесплатный конвертер из CRT в PEM прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы PEM по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

Конфиденциально - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполнялась локально в песочнице Вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы PEM по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

2D 2D 2D 2D 2D 42 45 47 49 4E

ПРЕДСТАВЛЕНИЕ ASCII: -----BEGIN

Стандартизация: IETF RFC 7468 / RFC 1421

Технические спецификации

Архитектура контейнераТекстовый контейнер в кодировке Base64 ASCII, ограниченный строками '-----BEGIN [LABEL]-----' и '-----END [LABEL]-----', инкапсулирующий бинарные структуры DER
СжатиеНесжатый текстовый формат
Порядок байтов (Endianness)Текстовый поток ASCII / UTF-8
Цветовые пространстваН/Д (криптографический контейнер)
Каналы и структураСертификаты, закрытые ключи (RSA/EC/DSA), запросы на подпись сертификата (CSR), открытые ключи и списки отзывов сертификатов
Максимальные размерыНеограниченный текстовый поток (поддерживает несколько связанных сертификатов)
ПрозрачностьОткрытая оболочка в кодировке ASCII
Потоковая передача и прогрессивная загрузкаПоследовательное извлечение потока баннер за баннером

Техническая матрица сравнения: PEM с конкурентами

Технический атрибутPEM (Текущий)DERP12CRT
Текст против двоичного кодаЧитаемый человеком текст Base64Только сырые бинарные байтыЗашифрованный бинарный архивОбычно текст Base64
Использование в облаках и DevOps100% универсальный стандарт (AWS, K8s)Аппаратные токены / JavaИмпорт на сервер Windows IISКонфигурации веб-серверов
Разрешенное содержимоеСертификаты, закрытые ключи, цепочки, запросы CSRОдин сертификат или ключСвязка сертификата и зашифрованного ключаОбычно только публичные сертификаты
Копирование и вставкаДа (вставлять напрямую в текстовые поля)Нет (двоичный)Нет (двоичный)Да (если закодировано в PEM)

Распространенные сценарии повреждения и руководство по восстановлению в HEX

Ошибка OpenSSL: 'PEM_read_bio: no start line'.

Первопричина: Отсутствует или поврежден заголовочный баннер '-----BEGIN ...-----', либо повреждены переводы строк Windows CRLF.

Восстановление: Восстановите стандартный баннер заголовка из 5 дефисов с помощью инструмента сертификатов File2File.app.

Анализ безопасности и векторы атак на парсер

Файлы PEM часто содержат незашифрованные закрытые ключи ('-----BEGIN RSA PRIVATE KEY-----'), которые предоставляют полный доступ к серверу в случае их раскрытия.

Известные векторы атак

  • Добавление незашифрованных закрытых ключей PEM в общедоступные репозитории контроля версий.
  • Атаки с обходом каталогов (Directory Traversal) для чтения ключей PEM сервера через включение локальных файлов (LFI).
  • Слабые кодовые фразы в зашифрованных файлах PEM с закрытыми ключами.

Лучшие практики защиты: Защищайте файлы PEM с закрытыми ключами с помощью строгих прав файловой системы (chmod 600) и никогда не коммитьте их в Git.

История происхождения и ключевые этапы

2015IETF публикует RFC 7468, формализующий текстовое кодирование структур PKIX, PKCS и CMS.
1998OpenSSL принимает PEM в качестве основного формата, что делает его де-факто стандартом в сфере открытого исходного кода.
1993IETF публикует RFC 1421 для формата защищенной электронной почты Privacy-Enhanced Mail (PEM), вводя формат ASCII-обрамления.

Ключевые преимущества и плюсы

  • Читаемость человеком и удобство копирования: можно вставлять в веб-формы, консоли облачных служб (AWS, GCP) и электронную почту.
  • Универсальный стандарт для OpenSSL, Linux, Docker, секретов Kubernetes и облачной инфраструктуры.
  • Поддерживает несколько сертификатов: в одном текстовом файле можно хранить полные цепочки доверия, размещая блоки один за другим.

Технические ограничения и минусы

  • Примерно на 33% больше по размеру, чем сырой бинарный DER, из-за накладных расходов на кодирование Base64.
  • Случайное повреждение: изменение переноса строк или пропущенные дефисы в баннерах могут привести к сбоям синтаксического анализа.
  • Незашифрованные файлы PEM с закрытыми ключами представляют крайнюю угрозу безопасности в случае утечки.

Интересные технические факты

  • Формат создавался для системы шифрования электронной почты, которая не получила широкого распространения. При этом его ASCII-обрамление стало самым популярным форматом для защиты данных.
  • Каждый действительный файл PEM начинается с пяти дефисов: '-----BEGIN'.
  • Полная цепочка SSL-сертификатов создается простым размещением нескольких блоков 'BEGIN CERTIFICATE' друг за другом в одном файле .pem.

Часто задаваемые технические вопросы

Что такое файл .pem?

Файл .pem: это текстовый формат для хранения сертификатов безопасности, закрытых ключей или целых цепочек сертификатов в читаемом формате Base64 с баннерами '-----BEGIN...-----'.

Как конвертировать PEM в P12 или PFX?

Вы можете конвертировать Ваш сертификат PEM и закрытый ключ в файл P12/PFX, защищенный паролем, в один клик с помощью File2File.app прямо в Вашем веб-браузере.

Как проверить срок действия сертификата PEM?

Откройте Ваш файл .pem в File2File.app, чтобы расшифровать дату окончания срока действия, издателя и доменные имена без отправки каких-либо данных на внешние серверы.

Связанные конвертации для PEM

CRT в PEM

Конвертация бинарного сертификата безопасности CRT в текстовый формат PEM с кодировкой Base64 обеспечивает его совместимость с Apache, Nginx и современными веб-серверами на базе Linux.

PEM в CRT

Конвертация текстового сертификата PEM в бинарный сертификат CRT позволяет серверам Apache и системам Windows правильно считывать Ваши учетные данные для веб-безопасности.

P12 в PEM

Конвертация пакета PKCS #12 в сертификат PEM извлекает Ваши открытые и закрытые ключи из защищенного бинарного архива в файлы с открытым текстом для веб-серверов.

PEM в P12

Конвертация сертификата PEM в пакет PKCS #12 объединяет открытый сертификат и закрытый ключ в один защищенный паролем файл для удобной установки на серверы Windows и в веб-браузеры.

DER в PEM

Конвертация сертификата DER Binary в сертификат PEM изменяет его кодировку с исходных бинарных байтов на текст Base64 ASCII, что облегчает чтение веб-серверами и текстовыми редакторами.

CER в PEM

Конвертация бинарного сертификата безопасности CER в текстовый файл PEM в кодировке Base64 позволяет администраторам легко читать и вставлять ключи безопасности в конфигурации веб-серверов и приложений.