PKCS #12 -paketin muuntaminen PEM-sertifikaatiksi
PKCS #12 -paketin muuntaminen PEM-sertifikaatiksi purkaa julkiset ja yksityiset avaimesi suojatusta binaariarkistosta selkeiksi tekstitiedostoiksi verkkopalvelimia varten.
Muotojen vertailu ja tekniset tiedot
| Määritys | P12 | PEM |
|---|---|---|
| MIME-tyyppi | application/x-pkcs12 | application/x-pem-file |
| Tyyppi | PKCS #12 encrypted archive | Base64 ASCII certificate container |
| Pakkaus | password encrypted PKCS #7 safe bags | none (Base64 armored) |
| Standardimääritys | IETF RFC 7292 | IETF RFC 7468 |
| Tiedostotunniste (Magic Bytes) | 30 82 (ASN.1 PKCS #12 PFX sequence) | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) |
Muodon yleiskatsaus ja käyttökohteet
Turvallisuusvalvojat muuntavat P12-tiedostoja PEM-muotoon säännöllisesti käyttäessään SSL-sertifikaatteja Apache-, Nginx- tai HAProxy-verkkopalvelimilla. Vaikka selaimet ja käyttöjärjestelmät käyttävät P12-säilöjä käyttäjätietojen ja yksityisten avaimien helppoon asentamiseen henkilökohtaisiin sertifikaattivarastoihin, Linux-pohjaiset verkkopalvelimet vaativat tyypillisesti erilliset selkotekstitiedostot julkiselle sertifikaatille, väliketjulle ja yksityiselle avaimelle. Tämä muunnos mahdollistaa sen, että palvelinohjelmisto voi lukea turvatunnistetiedot suoraan ilman salaussalasanan kysymistä joka kerta, kun palvelu käynnistetään. Toinen yleinen työnkulku liittyy API-integraatioihin ja kontitettuihin mikropalveluihin. Automatisoidut käyttöönottoputket luottavat usein selkotekstitiedostoihin, jotka syötetään ympäristömuuttujien tai konfiguraatiokiinnitysten kautta. Binaarisen P12-paketin muuntaminen erillisiksi PEM-tiedostoiksi varmistaa yhteensopivuuden nykyaikaisten pilvikorpistointityökalujen kanssa, jotka jäsentävät vakioituja Base64-panssaroituja tekstilohkoja.
Tekniset tiedot ja koodekkien erittely
PKCS #12 -tiedosto (MIME-tyyppi application/x-pkcs12) on ASN.1-syntaksiin perustuva binaarinen arkistomuoto. Se käyttää salasanapohjaista salausta sellaisten algoritmien kautta kuin Triple DES tai AES suojatakseen yksityisiä avaimia ja sertifikaatteja turvapusseissa. Siinä ei ole tiettyä maagista tavutunnistetta, mutta se alkaa tyypillisesti ASN.1 SEQUENCE -tunnisteella (0x30). Sitä vastoin PEM-tiedosto (MIME-tyyppi application/x-pem-file) käyttää Base64 ASCII -koodausta, joka on sijoitettu rajaviivojen, kuten -----BEGIN CERTIFICATE----- ja -----END CERTIFICATE-----, väliin. PEM-muoto ei käytä sisäistä pakkausta. Sen sijaan se luottaa yksinkertaiseen tekstikehykseen, mikä tekee siitä täysin häviöttömän, koska alla oleva salausavainmateriaali pysyy matemaattisesti identtisenä purkamisen jälkeen.
Käyttöjärjestelmien ja selaimien yhteensopivuus
PEM-sertifikaatit nauttivat yleisestä yhteensopivuudesta kaikissa tärkeimmissä Unix- ja Linux-palvelinympäristöissä, mukaan lukien Ubuntu, Red Hat, CentOS ja Alpine Docker -kontit. OpenSSL, Apache HTTP Server, Nginx ja Postfix lukevat niitä natiivisti. Toisaalta P12-paketteja tuetaan voimakkaasti asiakaspään järjestelmissä, kuten Windows Certificate Managerissa, macOS Keychainissa, iOS:ssä ja Androidissa, henkilökohtaisten tunnistetietojen tuomiseksi. Verkkoselaimet, kuten Chrome, Firefox ja Safari, hyväksyvät P12-tiedostot asiakassertifikaattitunnistautumista varten, mutta verkkopalvelimet vaativat PEM-vastineet.
💡 Hyödyllistä tietoa
Suojaa purettu yksityisen avaimen PEM-tiedosto aina tiukoilla tiedosto-oikeuksilla, kuten chmod 600 Linuxissa, koska binaarisen salasanakuoren poistaminen paljastaa raa'an avaintekstin.
Muotojen vertailu ja tekniset tiedot
Tyypillinen P12-paketti ja sen tuloksena syntyvä PEM-sertifikaattitiedostojen joukko ovat kooltaan 2 - 10 kt. Näillä mitättömillä tiedostokokoilla siirtoajat 4G-, 5G- ja kuituverkoissa ovat käytännössä silmänräpäyksellisiä, ja lataaminen tai lähettäminen vie alle millisekunnin.
Usein kysytyt kysymykset
Miten PKCS #12 -paketti muunnetaan PEM-sertifikaatiksi ilman laadun heikkenemistä?
Tämä muunnos on tiukasti häviötön, koska se muuttaa vain säilömuotoa ja koodausta. Binaaristen P12-turvapussien sisällä olevat salausavaimet ja julkiset sertifikaatit puretaan ja koodataan uudelleen Base64 ASCII -tekstiksi muuttamatta mitään alla olevia matemaattisia tietoja.
Mitä eroa on PKCS #12 -paketilla ja PEM-sertifikaatilla?
PKCS #12 -paketti on yksi binaarinen arkisto, joka tallentaa julkiset sertifikaatit, väliketjut ja yksityiset avaimet yhteen, suojattuna yhdellä salasanalla. PEM-sertifikaatti on selkotekstinen, Base64-pansaroitu tiedosto, joka sisältää yleensä vain yhden osan sertifikaattiketjusta, minkä ansiosta verkkopalvelimet voivat lukea turvatunnistetietoja suoraan.