Какво е PEM файл?

Какво да знаете

  • 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 Management Console от диалоговия прозорец Run (използвайте Клавиш Windows + R клавишна комбинация за влизане mmc). Оттам отидете на Файл > Добавяне/Премахване на Snap-in... и изберете Сертификати от лявата колона и след това Добавяне > бутон в центъра на прозореца.

Екранна снимка на Snap-in за сертификати 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

Вижте връзката за препълване на стека по-горе относно използването на PEM файла с Java KeyStore, ако искате да конвертирате файла в JKS, или този урок от Oracle да импортира файла в хранилището за доверие на Java.

Повече информация за PEM

Функцията за целостта на данните на формата на сертификата за поща с подобрена поверителност използва RSA-MD2 и RSA-MD5 обобщения на съобщения, за да сравните съобщение преди и след изпращането му, за да сте сигурни, че не е било подправено по пътя.

В началото на PEM файл има заглавка, която чете НАЧАЛО [етикет], а краят на данните е подобен долен колонтитул като този: КРАЙ [етикет]. Разделът "[етикет]" описва съобщението, така че може да се чете ЧАСТЕН КЛЮЧ, ЗАЯВКА ЗА СЕРТИФИКАТ, или СЕРТИФИКАТ.

Ето един пример:

ЗАПОЧНЕТЕ ЧАСТЕН КЛЮЧ
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 Format. Следвайте тази връзка, за да видите как да отваряте или конвертирате PEF файлове, ако това наистина имате.

Същото може да се каже и за много други разширения на файлове като EPM, EMP, EPP, PES, PET...разбирате идеята. Просто проверете двукратно разширението на файла, за да видите, че всъщност чете ".pem", преди да помислите, че методите по-горе не работят.

Ако имате работа с KEY файл, имайте предвид, че не всички файлове, които завършват на .KEY, принадлежат на формата, описан на тази страница. Вместо това те могат да бъдат файлове с лицензен ключ за софтуер, използвани при регистриране на софтуерни програми като LightWave или Keynote Presentation файлове, създадени от Apple Keynote.

ЧЗВ

  • Как да създам PEM файл?

    Първата стъпка към създаването на PEM файл е да изтеглите сертификатите, изпратени от вашия сертифициращ орган. Това ще включва междинен сертификат, основен сертификат, основен сертификат и файлове с частен ключ.

    След това отворете текстов редактор, като WordPad или Notepad, и поставете тялото на всеки сертификат в нов текстов файл. Те трябва да са в този ред: частен ключ, първичен сертификат, междинен сертификат, коренен сертификат. Добавете начални и крайни тагове. Те ще изглеждат така:

    НАЧАЛО СЕРТИФИКАТ и КРАЙ НА СЕРТИФИКАТ

    Накрая запазете файла като your_domain.pem.

  • PEM файл е същото нещо като CRT файл?

    Не. PEM и CRT файловете са свързани; и двата типа файлове представляват различни аспекти на процеса на генериране и проверка на ключове. PEM файловете са контейнери, предназначени да проверяват и декриптират данни, които сървърът изпраща. Файл CRT (което означава сертификат) представлява заявка за подписване на сертификат. CRT файловете са начин за проверка на собствеността без достъп до частен ключ. CRT файловете съдържат публичния ключ заедно с много повече информация.