Сертифікат PEM (.pem)
IETF СтандартPrivacy-Enhanced Mail (PEM): поширене текстове кодування криптографічних об’єктів, зокрема сертифікатів і приватних ключів. Воно використовує дані Base64, обрамлені позначеними межами «-----BEGIN...-----» і «-----END...-----».
Конвертувати з CRT у PEM
Безкоштовний конвертер з CRT у PEM у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли PEM, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (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 (Поточний) | DER | P12 | CRT |
|---|---|---|---|---|
| Текст проти двійкового | Читабельний для людини текст у форматі Base64 | Тільки сирі двійкові байти | Зашифрований двійковий архів | Зазвичай текст Base64 |
| Використання в хмарах та DevOps | 100% універсальний стандарт (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.
Історичне походження та віхи
Основні переваги
- Зрозумілий для людини та придатний для копіювання: його можна вставляти у веб-форми, поля введення в хмарних консолях (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 із кодуванням Base64 робить його сумісним з Apache, Nginx та сучасними вебсерверами на базі Linux.
Конвертація текстового сертифіката PEM у бінарний сертифікат CRT дає змогу серверам Apache та системам Windows правильно зчитувати ваші дані для автентифікації на вебсайтах.
Конвертація пакета PKCS #12 у сертифікат PEM витягує ваші відкритий і закритий ключі із захищеного паролем бінарного архіву у файли відкритого тексту для вебсерверів.
Конвертація сертифіката PEM у пакет PKCS #12 об'єднує ваш публічний сертифікат і приватний ключ в один захищений паролем файл для зручного встановлення на серверах Windows та у веб-браузерах.
Конвертація двійкового сертифіката DER у сертифікат PEM змінює його кодування з необроблених двійкових байтів на текст ASCII у кодуванні Base64, щоб його можна було легко читати вебсерверам і в текстових редакторах.
Конвертація двійкового сертифіката безпеки CER у текстовий файл PEM, закодований у Base64, дає змогу адміністраторам легко читати ключі безпеки та вставляти їх у вебсервери й конфігурації застосунків.