Перейти к содержимому
ecdsa.com

PEM

Текстовая обёртка данных DER в виде base64 между строками -----BEGIN метка----- и -----END метка-----, стандартизированная для объектов PKIX в RFC 7468; в этом формате большинство инструментов хранит сертификаты и ключи.
Другие написанияPEM filePEM formatBEGIN CERTIFICATERFC 7468

Тело блока — обычный base64 (не base64url) от байтов DER, по традиции разбитый на строки по 64 символа. Среди меток RFC 7468 — CERTIFICATE, X509 CRL, CERTIFICATE REQUEST, PKCS7, CMS, PRIVATE KEY (PKCS #8), ENCRYPTED PRIVATE KEY и PUBLIC KEY (SPKI). Традиционные форматы OpenSSL добавляют RSA PRIVATE KEY, EC PRIVATE KEY и RSA PUBLIC KEY, а в старых зашифрованных ключах встречаются заголовки Proc-Type: 4,ENCRYPTED и DEK-Info, унаследованные от стандарта Privacy-Enhanced Mail 1993 года.

PEM-файл может содержать несколько объектов: цепочку сертификатов (первым идёт конечный сертификат) или ключ, за которым следует его сертификат. Текст перед блоками и между ними допускается, поэтому вывод openssl x509 -text может соседствовать с base64.

Типичные ошибки вызваны меткой, а не base64: no start line (неверная метка или DER-файл, переданный как PEM), expecting: ANY PRIVATE KEY (открытый ключ там, где ожидался закрытый ключ), повреждение переводами строк CRLF или пробелами, а также отсутствие перевода строки в конце файла, которого требуют строгие парсеры. Преобразование происходит без потерь: openssl x509 -outform DER и обратно.

Стандарты и ссылки

Все термины