Konwerter P12 na PEM
Konwersja pakietu PKCS #12 na certyfikat PEM wyodrębnia klucze publiczne i prywatne z zabezpieczonego archiwum binarnego do zwykłych plików tekstowych dla serwerów internetowych.
Porównanie formatów i specyfikacja techniczna
| Specyfikacja | P12 | PEM |
|---|---|---|
| Typ MIME | application/ | application/ |
| Typ | zaszyfrowane archiwum PKCS #12 | kontener certyfikatów ASCII zakodowanych w Base64 |
| Kompresja | kontenery safe bag PKCS #7 zaszyfrowane hasłem | brak (dane zakodowane w Base64 w formacie PEM) |
| Standardowa specyfikacja | IETF RFC 7292 | IETF RFC 7468 |
| Nagłówek z bajtami identyfikującymi | 30 82 (ASN.1 PKCS #12 PFX sequence) | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) |
Przegląd formatu i zastosowania
Administratorzy bezpieczeństwa często konwertują pliki P12 do formatu PEM podczas wdrażania certyfikatów SSL na serwerach Apache, Nginx lub HAProxy. Przeglądarki i systemy operacyjne używają kontenerów P12, aby łatwo instalować tożsamości użytkowników i klucze prywatne w osobistych magazynach certyfikatów. Serwery internetowe oparte na Linuksie zazwyczaj wymagają jednak osobnych plików tekstowych: certyfikatu publicznego, łańcucha certyfikatów pośrednich i klucza prywatnego. Dzięki konwersji oprogramowanie serwera może odczytywać poświadczenia bezpośrednio, bez pytania o hasło deszyfrujące przy każdym uruchomieniu usługi. Ten format jest też często wykorzystywany w integracjach API i mikrousługach działających w kontenerach. Zautomatyzowane procesy wdrażania często korzystają ze zwykłych plików tekstowych przekazywanych przez zmienne środowiskowe lub montowane pliki konfiguracyjne. Konwersja binarnego pakietu P12 na osobne pliki PEM zapewnia zgodność z nowoczesnymi narzędziami orkiestracji w chmurze, które parsują standardowe bloki tekstu zakodowane w Base64.
Specyfikacja techniczna i analiza kodeków
PKCS #12 (P12/PFX) to kontener, w którym mogą znajdować się certyfikaty, klucze prywatne i powiązane dane. Plik może być zaszyfrowany hasłem albo utworzony bez szyfrowania, zależnie od programu i ustawień. Eksport klucza prywatnego do PEM może usunąć ochronę kontenera, dlatego zabezpiecz wynikowy plik i przesyłaj go bezpiecznym kanałem.
Zgodność z systemami operacyjnymi i przeglądarkami
Certyfikaty PEM są szeroko obsługiwane w większości głównych środowisk serwerowych Unix i Linux, w tym Ubuntu, Red Hat, CentOS i kontenerach Docker Alpine. Natywnie odczytują je OpenSSL, Apache HTTP Server, Nginx i Postfix. Pakiety P12 są natomiast szeroko obsługiwane przez systemy klienckie, takie jak Menedżer certyfikatów Windows, Pęk kluczy macOS, iOS i Android, do importowania osobistych poświadczeń uwierzytelniających. Przeglądarki Chrome, Firefox i Safari akceptują pliki P12 do uwierzytelniania certyfikatem klienta, ale serwery internetowe wymagają ich odpowiedników PEM.
Przydatne informacje
Traktuj wyeksportowany klucz prywatny jak sekret. Zapisz go z ograniczonymi uprawnieniami i przesyłaj bezpiecznym, uwierzytelnionym kanałem. Samo hasło P12 ani wybrany szyfr nie zabezpieczą niebezpiecznego transferu.
Często zadawane pytania
Jak przekonwertować pakiet PKCS #12 na certyfikat PEM bez utraty jakości?
Dane certyfikatu można zakodować ponownie bez zmiany ich wartości, ale konwersja może wyodrębnić klucz prywatny i usunąć szyfrowanie P12. Zabezpiecz powstały plik klucza i przesyłaj go wyłącznie odpowiednio chronionym kanałem.
Czym różni się pakiet PKCS #12 od certyfikatu PEM?
Pakiet PKCS #12 to kontener binarny, który może zawierać certyfikaty, klucze prywatne i powiązane dane. W zależności od sposobu utworzenia może być chroniony hasłem albo niezaszyfrowany. Certyfikat PEM to plik tekstowy zabezpieczony kodowaniem Base64, który zazwyczaj zawiera tylko jedną część łańcucha certyfikatów, co umożliwia serwerom internetowym bezpośredni odczyt poświadczeń bezpieczeństwa.