Що потрібно знати

  • Файл PEM — це файл сертифіката конфіденційності пошти з покращеною конфіденційністю.
  • Відкрийте його за допомогою програми або операційної системи, для якої потрібен файл (усі вони працюють трохи по-різному).
  • Перетворення в PPK, PFX або CRT за допомогою команди або спеціального конвертера.

У цій статті пояснюється, для чого використовуються файли PEM, як їх відкрити залежно від програми чи ОС, які ви використовуєте, і як конвертувати їх у інший формат файлу сертифіката.

Що таке файл PEM?

Файл PEM — це файл сертифіката пошти з покращеною конфіденційністю, який використовується для приватної передачі електронної пошти. Людина, яка отримує цей електронний лист, може бути впевнена, що повідомлення не було змінено під час його передачі, не було показано нікому іншому та було надіслано особою, яка стверджує, що надіслала його.

Файли PEM виникли через складність надсилання двійкових даних електронною поштою. Формат PEM кодує двійковий код з base64, щоб він існував у вигляді рядка ASCII.

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

Деякі файли у форматі PEM можуть замість цього використовувати інше розширення файлу, наприклад CER або CRT для сертифікатів або KEY для відкритих або закритих ключів.

Як відкрити файли PEM

Дії для відкриття файлу PEM відрізняються залежно від програми, якій це потрібно, та операційної системи, яку ви використовуєте. Однак вам може знадобитися конвертувати файл PEM у CER або CRT, щоб деякі з цих програм прийняли файл.

Windows

Якщо вам потрібен файл CER або CRT у поштовому клієнті Microsoft, наприклад Outlook, відкрийте його в Internet Explorer, щоб він автоматично завантажився у відповідну базу даних. Поштовий клієнт може автоматично використовувати його звідти.

Щоб побачити, які файли сертифікатів завантажено на ваш комп’ютер, і імпортувати їх вручну, скористайтеся Internet Explorer Інструменти меню для доступу Параметри Інтернету > Зміст > Сертифікати, подобається це:

Скріншот сертифікатів в Windows 8

Щоб імпортувати файл CER або CRT до Windows, почніть з відкриття консолі керування Microsoft у діалоговому вікні «Виконати» (використовуйте Клавіша Windows + R комбінацію клавіш для входу mmc). Звідти йдіть до Файл > Додати/Вилучити оснастку... і виберіть Сертифікати з лівого стовпця, а потім Додати > кнопку в центрі вікна.

Знімок екрана оснастки сертифікатів MMC у Windows 10

Виберіть Обліковий запис комп'ютера на наступному екрані, а потім переміщайтеся по майстрові, вибираючи Локальний комп'ютер коли запитали. Коли «Сертифікати» буде завантажено в розділі «Корінь консолі», розгорніть папку та клацніть правою кнопкою миші Надійні кореневі центри сертифікації, і виберіть Усі завдання > Імпорт.

macOS

Ця ж концепція справедлива для вашого клієнта електронної пошти Mac, як і для Windows: використовуйте Safari, щоб імпортувати файл PEM в Keychain Access.

Ви також можете імпортувати сертифікати SSL через Файл > Імпорт предметів меню в Keychain Access. Виберіть система зі спадного меню, а потім дотримуйтесь підказок на екрані.

Знімок екрана пункту меню Keychain Access
Імпорт елементів у Keychain Access (macOS High Sierra).

Якщо ці методи не працюють для імпорту файлу PEM в macOS, ви можете спробувати наступне команда (змініть "yourfile.pem" на ім'я та розташування вашого конкретного файлу PEM):

імпорт безпеки yourfile.pem -k ~/Library/Keychains/login.keychain

Linux

Використовуй це ключовий інструмент команда для перегляду вмісту файлу PEM в Linux:

keytool -printcert -file yourfile.pem

Виконайте ці дії, якщо ви хочете імпортувати файл CRT до надійного центру сертифікації Linux репозиторій (перегляньте метод перетворення PEM в CRT у наступному розділі нижче, якщо у вас є файл PEM замість цього):

  1. Перейдіть до /usr/share/ca-certificates/.

  2. Створіть там папку (наприклад, sudo mkdir /usr/share/ca-certificates/work).

  3. Скопіюйте файл .CRT у новостворену папку. Якщо ви не хочете робити це вручну, ви можете використовувати цю команду: sudo cp yourfile.crt /usr/share/ca-certificates/work/yourfile.crt.

  4. Переконайтеся, що дозволи налаштовані правильно (755 для папки та 644 для файлу).

  5. Запустіть sudo update-ca-certificates команда.

Firefox і Thunderbird

Якщо файл PEM потрібно імпортувати в клієнт електронної пошти Mozilla, наприклад Thunderbird, можливо, вам доведеться спочатку експортувати файл PEM з Firefox. Відкрийте меню Firefox і виберіть Параметри. Йти до Конфіденційність та безпека і знайти Безпека розділ, а потім скористайтеся Переглянути сертифікати... кнопку, щоб відкрити список, з якого ви можете вибрати той, який потрібно експортувати. Використовувати Резервне копіювання... можливість зберегти.

Потім у Thunderbird відкрийте меню та натисніть або торкніться Параметри. Перейдіть до Розширений > Сертифікати > Керування сертифікатами > Ваші сертифікати > Імпорт. З розділу "Ім'я файлу:" Імпорт вікно, виберіть Файли сертифікатів зі спадного меню, а потім знайдіть і відкрийте файл PEM.

Щоб імпортувати файл PEM у Firefox, просто виконайте ті самі дії, що й для експорту, але виберіть Імпорт замість Резервне копіювання... кнопку. Якщо ви не можете знайти файл PEM, переконайтеся, що для області «Ім’я файлу» діалогового вікна встановлено значення Файли сертифікатів і ні Файли PKCS12.

Java KeyStore

Stack Overflow має ланцюжок про імпорт файлу PEM до Java KeyStore (JKS), якщо вам потрібно це зробити. Інший варіант, який може спрацювати, - це використовувати цей інструмент keyutil.

Як перетворити файл PEM

На відміну від більшості форматів файлів, які можна конвертувати за допомогою інструмента перетворення файлів або веб-сайту, вам потрібно ввести спеціальні команди для певної програми, щоб перетворити формат файлу PEM в більшість інших формати.

Перетворіть PEM в PPK за допомогою PuTTYGen. Виберіть Завантажити у правій частині програми встановіть тип файлу будь-який (*.*), а потім знайдіть і відкрийте файл PEM. Виберіть Зберегти приватний ключ щоб створити файл PPK.

З OpenSSL (отримати версію Windows тут), ви можете конвертувати файл PEM в PFX за допомогою такої команди:

openssl pkcs12 -inkey yourfile.pem -in yourfile.cert -export -out yourfile.pfx

Якщо у вас є файл PEM, який потрібно конвертувати в CRT, як у випадку з Ubuntu, використовуйте цю команду з OpenSSL:

openssl x509 -у yourfile.pem -inform PEM -out yourfile.crt

OpenSSL також підтримує перетворення .PEM в .P12 (PKCS#12 або Public Key Cryptography Standard #12), але додайте розширення файлу ".TXT" в кінці файлу перед запуском цієї команди:

openssl pkcs12 -export -inkey yourfile.pem.txt -in yourfile.pem.txt -out yourfile.p12

Перегляньте посилання Stack Overflow вище про використання файлу PEM з Java KeyStore, якщо ви хочете перетворити файл у JKS, або цей посібник із Oracle, щоб імпортувати файл у довірче сховище Java.

Більше інформації про PEM

Функція цілісності даних формату сертифіката конфіденційності покращеної пошти використовує RSA-MD2 і RSA-MD5 Збірки повідомлень, щоб порівняти повідомлення до і після його відправлення, щоб переконатися, що воно не було підроблено на цьому шляху.

На початку файлу PEM знаходиться заголовок, який читає ПОЧАТОК [мітка], а кінець даних – подібний нижній колонтитул: END [мітка]. Розділ "[мітка]" описує повідомлення, тому його можна прочитати ПРИВАТНИЙ КЛЮЧ, ЗАПИТ НА СЕРТИФІКАТ, або СЕРТИФІКАТ.

Ось приклад:

ПРИВАТНИЙ КЛЮЧ ПОЧАТКУ
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMLgD0kAKDb5cFyP
jbwNfR5CtewdXC+kMXAWD8DLxiTTvhMW7qVnlwOm36mZlszHKvsRf05lT4pegiFM
9z2j1OlaN+ci/X7NU22TNN6crYSiN77FjYJP464j876ndSxyD+rzys386T+1r1aZ
aggEdkj1TsSsv1zWIYKlPIjlvhuxAgMBAAECgYA0aH+T2Vf3WOPv8KdkcJg6gCre
yJKXOWgWRcicx/CUzOEsTxmFIDPLxqAWA3k7v0B+3vjGw5Y9lycV/5XqXNoQI14j
y09iNsumds13u5AKkGdTJnZhQ7UKdoVHfuP44ZdOv/rJ5/VD6F4zWywpe90pcbK+
AWDVtusgGQBSieEl1QJBAOyVrUG5l2234raSDfm/DYyXlIthQO/A3/LngDW
5/ydGxVsT7lAVOgCsoT+0L4efTh90PjzW8LPQrPBWVMCQQDS3h/FtYYd5lfz+FNL
9CEe1F1w9l8P749uNUD0g317zv1tatIqVCsQWHfVHNdVvfQ+vSFw38OORO00Xqs9
1GJrAkBkoXXEkxCZoy4PteheO/8IWWLGGr6L7di6MzFl1lIqwT6D8L9oaV2vynFT
DnKop0pa09Unhjyw57KMNmSE2SUJAkEArloTEzpgRmCq4IK2/NpCeGdHS5uqRlbh
1VIa/xGps7EWQl5Mn8swQDel/YP3WGHTjfx7pgSegQfkyaRtGpZ9OQJAa9Vumj8m
JAAtI0Bnga8hgQx7BhTQY4CadDxyiRGOGYhwUzYVCqkb2sbVRH9HnwUaJT7cWBY3
RnJdHOMXWem7/w==
КІНЦЕВИЙ ПРИВАТНИЙ КЛЮЧ

Один файл PEM може містити кілька сертифікатів, і в цьому випадку розділи "END" і "BEGIN" сусідять один з одним.

Все ще не вдається відкрити файл?

Однією з причин, чому ваш файл не відкривається жодним із описаних вище способів, є те, що ви насправді не маєте справу з файлом PEM. Натомість у вас може бути файл, який просто використовує таке ж написане розширення файлу. Коли це так, немає необхідності, щоб два файли були пов’язані або щоб вони працювали з одним і тим же програмним забезпеченням.

Наприклад, PEF дуже схожий на PEM, але натомість належить до формату файлу Pentax Raw Image або формату Portable Embosser. Перейдіть за цим посиланням, щоб дізнатися, як відкрити або конвертувати файли PEF, якщо це те, що у вас дійсно є.

Те ж саме можна сказати і про багато інших розширень файлів, наприклад EPM, EMP, EPP, PES, PET... ви зрозуміли. Просто двічі перевірте розширення файлу, щоб переконатися, що воно насправді читає ".pem", перш ніж вважати, що наведені вище методи не працюють.

Якщо ви маєте справу з файлом KEY, майте на увазі, що не всі файли, які закінчуються на .KEY, належать формату, описаному на цій сторінці. Натомість це можуть бути файли ліцензійного ключу програмного забезпечення, які використовуються під час реєстрації програмного забезпечення, як-от LightWave, або файли Keynote Presentation, створені Apple Keynote.

FAQ

  • Як створити файл PEM?

    Першим кроком до створення файлу PEM є завантаження сертифікатів, надісланих вам центром сертифікації. Це включатиме проміжний сертифікат, кореневий сертифікат, первинний сертифікат та файли приватного ключа.

    Потім відкрийте текстовий редактор, наприклад WordPad або Блокнот, і вставте тіло кожного сертифіката в новий текстовий файл. Вони мають бути в такому порядку: закритий ключ, первинний сертифікат, проміжний сертифікат, кореневий сертифікат. Додайте початкові та кінцеві теги. Вони виглядатимуть так:

    ПОЧАТОК СЕРТИФІКАТУ і КІНЦЕВИЙ СЕРТИФІКАТ

    Нарешті, збережіть файл як your_domain.pem.

  • Чи файл PEM – це те саме, що файл CRT?

    Ні. Файли PEM і CRT пов'язані; обидва типи файлів представляють різні аспекти процесу генерації та перевірки ключів. Файли PEM — це контейнери, призначені для перевірки та дешифрування даних, які надсилає сервер. Файл CRT (що означає сертифікат) являє собою запит на підписання сертифіката. Файли CRT – це спосіб підтвердити право власності без доступу до приватного ключа. Файли CRT містять відкритий ключ разом із набагато більшою інформацією.