Vad att veta
- En PEM-fil är en Privacy Enhanced Mail Certificate-fil.
- Öppna en med programmet eller operativsystemet som kräver filen (alla fungerar lite olika).
- Konvertera till PPK, PFX eller CRT med ett kommando eller speciell omvandlare.
Den här artikeln förklarar vad PEM-filer används för, hur man öppnar en beroende på vilket program eller operativsystem du använder och hur man konverterar en till ett annat certifikatfilformat.
Vad är en PEM-fil?
En PEM-fil är en Privacy Enhanced Mail Certificate-fil som används för att privat överföra e-post. Personen som tar emot detta e-postmeddelande kan vara säker på att meddelandet inte ändrades under överföringen, inte visades för någon annan och skickades av personen som påstår sig ha skickat det.
PEM-filer uppstod ur komplikationen av att skicka binär data via e-post. PEM-formatet kodar binärt med base64 så att det existerar som en ASCII-sträng.
PEM-formatet har ersatts av nyare och säkrare teknologier, men PEM-behållaren används fortfarande idag för att hålla certifikatmyndighetsfiler, offentliga och privata nycklar, rotcertifikat, etc.
Vissa filer i PEM-format kan istället använda ett annat filtillägg, som CER eller CRT för certifikat, eller KEY för offentliga eller privata nycklar.
Hur man öppnar PEM-filer
Stegen för att öppna en PEM-fil är olika beroende på vilket program som behöver den och vilket operativsystem du använder. Du kan dock behöva konvertera din PEM-fil till CER eller CRT för att vissa av dessa program ska acceptera filen.
Windows
Om du behöver CER- eller CRT-filen i en Microsoft e-postklient som Outlook, öppna den i Internet Explorer så att den automatiskt laddas in i rätt databas. E-postklienten kan automatiskt använda den därifrån.
Microsoft stöder inte längre Internet Explorer och rekommenderar att du uppdaterar till den nyare Edge-webbläsaren. Gå till deras webbplats för att ladda ner den senaste versionen.
För att se vilka certifikatfiler som laddas in på din dator, och för att importera dem manuellt, använd Internet Explorers Verktyg-meny för att komma åt Internet alternativ> Innehåll > Certifikat, så här:
För att importera en CER- eller CRT-fil till Windows, börja med att öppna Microsoft Management Console från dialogrutan Kör (använd Windows-tangenten + R kortkommando för att angemmc ). Därifrån går du till Fil > Lägg till/ta bort snapin-modul… och välj Certifikat från den vänstra kolumnen och sedan Lägg till >- knappen i mitten av fönstret.
Välj Datorkonto på följande skärm och gå sedan igenom guiden och välj Lokal dator när du tillfrågas. När "Certificates" har laddats under "Console Root, expanderar du mappen och högerklickar på Trusted Root Certification Authorities och väljer All Tasks > Import
macOS
Samma koncept gäller för din Mac-e-postklient som för en Windows-klient: använd Safari för att få PEM-filen importerad till Keychain Access.
Du kan också importera SSL-certifikat genom menyn File > Importera objekt-menyn i Keychain Access. Välj System från rullgardinsmenyn och följ sedan anvisningarna på skärmen.
Om dessa metoder inte fungerar för att importera PEM-filen till macOS, kan du prova följande kommando (ändra "yourfile.pem" till att vara namnet och platsen för din specifika PEM-fil):
säkerhetsimport yourfile.pem -k ~/Library/Keychains/login.keychain
Linux
Använd det här tangentverktygskommandot för att se innehållet i en PEM-fil på Linux:
keytool -printcert -file yourfile.pem
Följ dessa steg om du vill importera en CRT-fil till Linuxs betrodda certifikatutfärdare (se konverteringsmetoden PEM till CRT i nästa avsnitt nedan om du har en PEM-fil istället):
- Navigera till /usr/share/ca-certificates/.
- Skapa en mapp där (till exempel sudo mkdir /usr/share/ca-certificates/work).
- Kopiera. CRT-filen till den nyskapade mappen. Om du hellre inte vill göra det manuellt kan du använda det här kommandot istället: sudo cp yourfile.crt /usr/share/ca-certificates/work/yourfile.crt.
- Se till att behörigheterna är korrekt inställda (755 för mappen och 644 för filen).
- Kör kommandot sudo update-ca-certificates.
Firefox och Thunderbird
Om PEM-filen behöver importeras till en Mozilla-e-postklient som Thunderbird, kanske du måste först exportera PEM-filen från Firefox. Öppna Firefox-menyn och välj Alternativ Gå till Sekretess och säkerhet och hitta avsnittet Security och sedan använd Visa certifikat…-knappen för att öppna en lista, där du kan välja den du behöver exportera. Använd Backup… för att spara det.
Öppna sedan menyn i Thunderbird och klicka eller tryck på Options Navigera till Advanced > Certifikat> Hantera certifikat > Dina certifikat > Import Från avsnittet "Filnamn:" i i importfönstret, välj Certificate Files från rullgardinsmenyn och leta reda på och öppna PEM-filen.
För att importera PEM-filen till Firefox, följ bara samma steg som du skulle göra för att exportera en, men välj Import istället för knappen Säkerhetskopiera…. Om du inte kan hitta PEM-filen, se till att området "Filnamn" i dialogrutan är inställt på Certificate Files och inte PKCS12 Files
Java KeyStore
Stack Overflow har en tråd om att importera en PEM-fil till Java KeyStore (JKS) om du behöver göra det. Ett annat alternativ som kan fungera är att använda det här nyckelverktyget.
Hur man konverterar en PEM-fil
Till skillnad från de flesta filformat som kan konverteras med ett filkonverteringsverktyg eller en webbplats, måste du ange speciella kommandon mot ett visst program för att konvertera PEM-filformatet till de flesta andra format.
Konvertera PEM till PPK med PuTTYGen. Välj Load från höger sida av programmet, ställ in filtypen till valfri fil (.), och bläddra sedan efter och öppna din PEM-fil. Välj Spara privat nyckel för att skapa PPK-filen.
Med OpenSSL (hämta Windows-versionen här), kan du konvertera PEM-filen till PFX med följande kommando:
openssl pkcs12 -inkey yourfile.pem -in yourfile.cert -export -out yourfile.pfx
Om du har en PEM-fil som behöver konverteras till CRT, som är fallet med Ubuntu, använd detta kommando med OpenSSL:
openssl x509 -in yourfile.pem -inform PEM -out yourfile.crt
OpenSSL stöder även konvertering av. PEM till. P12 (PKCS12, eller Public Key Cryptography Standard 12), men lägg till filtillägget ". TXT" i slutet av filen innan du kör det här kommandot:
openssl pkcs12 -exportera -inkey yourfile.pem.txt -in yourfile.pem.txt -out yourfile.p12
Se Stack Overflow-länken ovan om hur du använder PEM-filen med Java KeyStore om du vill konvertera filen till JKS, eller den här handledningen från Oracle för att importera filen till Java truststore.
Mer information om PEM
Dataintegritetsfunktionen i formatet Privacy Enhanced Mail Certificate använder RSA-MD2- och RSA-MD5-meddelandesammandrag för att jämföra ett meddelande före och efter det har skickats, för att säkerställa att det inte har manipulerats på vägen.
I början av en PEM-fil finns en rubrik som läser -----BEGIN [etikett]----- och slutet av data är en liknande sidfot så här: ----- END [etikett] -----. Avsnittet "[label]" beskriver meddelandet, så det kan stå PRIVATE KEY, CERTIFICATE REQUEST eller CERTIFICATE.
Här är ett exempel:
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==
En PEM-fil kan innehålla flera certifikat, i vilket fall "END" och "BEGIN" gränsar till varandra.
Kan du fortfarande inte öppna filen?
En anledning till att din fil inte öppnas på något av de sätt som beskrivs ovan är att du faktiskt inte har att göra med en PEM-fil. Du kanske istället har en fil som bara använder en filändelse på liknande sätt. När så är fallet är det inte nödvändigt att de två filerna är relaterade eller att de ska fungera med samma program.
PEF ser till exempel väldigt mycket ut som PEM men tillhör istället antingen Pentax Raw Image-filformat eller Portable Embosser Format. Följ den länken för att se hur du öppnar eller konverterar PEF-filer, om det är vad du verkligen har.
Detsamma kan sägas för många andra filtillägg som EPM, EMP, EPP, PES, PET…du förstår. Dubbelkolla bara filtillägget för att se att det faktiskt står ".pem" innan du tänker på att metoderna ovan inte fungerar.
Om du har att göra med en KEY-fil, var medveten om att inte alla filer som slutar på. KEY hör hemma i det format som beskrivs på den här sidan. De kan istället vara programvarulicensnyckelfiler som används vid registrering av program som LightWave eller Keynote Presentation-filer skapade av Apple Keynote.
FAQ
Hur skapar jag en PEM-fil?
Det första steget mot att skapa en PEM-fil är att ladda ner de certifikat som din certifikatutfärdare skickade till dig. Detta kommer att inkludera ett mellancertifikat, ett rotcertifikat, ett primärt certifikat och privata nyckelfiler.
Öppna sedan en textredigerare, som WordPad eller Notepad, och klistra in brödtexten på varje certifikat i en ny textfil. De ska vara i denna ordning: Privat nyckel, Primärt certifikat, Mellancertifikat, Rotcertifikat. Lägg till start- och sluttaggar. De kommer att se ut så här:
Spara filen som your_domain.pem.
Är en PEM-fil samma sak som en CRT-fil?
Nej. PEM- och CRT-filer är relaterade; båda filtyperna representerar olika aspekter av nyckelgenerering och verifieringsprocessen. PEM-filer är behållare avsedda att verifiera och dekryptera data som en server skickar. En CRT-fil (som står för certifikat) representerar en begäran om certifikatsignering. CRT-filer är ett sätt att verifiera ägande utan privat nyckelåtkomst. CRT-filer innehåller den publika nyckeln tillsammans med mycket mer information.