Сертифікат PEM (.pem)

IETF Стандарт

Privacy-Enhanced Mail (PEM): поширене текстове кодування криптографічних об’єктів, зокрема сертифікатів і приватних ключів. Воно використовує дані Base64, обрамлені позначеними межами «-----BEGIN...-----» і «-----END...-----».

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

Безкоштовний конвертер з CRT у PEM у браузері. Миттєво конвертуйте файли на своєму пристрої.

Аналіз та метадані

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

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

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

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

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

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

ПОДАННЯ В ASCII: -----BEGIN

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

Технічні характеристики

Архітектура контейнераКонтейнер ASCII з даними Base64 між маркерами '-----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)

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Помилка 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), представляючи формат ASCII-обгортки (ASCII armor).

Основні переваги

  • Зрозумілий для людини та придатний для копіювання: його можна вставляти у веб-форми, поля введення в хмарних консолях (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 у сертифікат PEM змінює його кодування з необроблених двійкових байтів на текст ASCII у кодуванні Base64, щоб його можна було легко читати вебсерверам і в текстових редакторах.

CER до PEM

Конвертація двійкового сертифіката безпеки CER у текстовий файл PEM, закодований у Base64, дає змогу адміністраторам легко читати ключі безпеки та вставляти їх у вебсервери й конфігурації застосунків.