Certyfikat PEM (.pem)
IETF StandardowyPrivacy-Enhanced Mail (PEM) to uniwersalny, czytelny dla człowieka standard tekstu dla zasobów kryptograficznych, kodujący binarne certyfikaty DER i klucze prywatne jako tekst Base64 otoczony charakterystycznymi banerami '-----BEGIN...-----'.
Konwertuj CRT na PEM
Darmowy konwerter z CRT na PEM w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki PEM, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki PEM, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
2D 2D 2D 2D 2D 42 45 47 49 4EREPREZENTACJA ASCII: -----BEGIN
Normalizacja: IETF RFC 7468 / RFC 1421
Specyfikacja techniczna
| Architektura kontenera | Base64 ASCII armored container bounded by '-----BEGIN [LABEL]-----' and '-----END [LABEL]-----' encapsulating DER binary structures |
| Kompresja | Uncompressed text format |
| Kolejność bajtów (Endianness) | ASCII / UTF-8 text stream |
| Przestrzenie kolorów | N/A (Cryptographic Container) |
| Kanały i struktura | Certificates, Private Keys (RSA/EC/DSA), CSRs, Public Keys, and Certificate Revocation Lists |
| Maks. wymiary | Unbounded text stream (supports multiple chained certificates) |
| Przezroczystość | Cleartext ASCII armored envelope |
| Streaming i progresywne ładowanie | Sequential banner-by-banner streaming extraction |
Techniczna macierz porównawcza: PEM a konkurencja
| Atrybut techniczny | PEM (Bieżący) | DER | P12 | CRT |
|---|---|---|---|---|
| Tekst a plik binarny | Czytelny dla człowieka tekst Base64 | Tylko surowe bajty binarne | Zaszyfrowane archiwum binarne | Zazwyczaj tekst Base64 |
| Wykorzystanie w chmurze i DevOps | 100% uniwersalny standard (AWS, K8s) | Tokeny sprzętowe / Java | Import do serwera Windows IIS | Konfiguracje serwerów WWW |
| Dozwolona zawartość | Certyfikaty, klucze prywatne, łańcuchy, żądania CSR | Pojedynczy certyfikat lub klucz | Połączony certyfikat + zaszyfrowany klucz | Zazwyczaj tylko certyfikaty publiczne |
| Możliwość kopiowania i wklejania | Tak (wklej bezpośrednio do pól tekstowych) | Nie (binarny) | Nie (binarny) | Tak (jeśli zakodowany w PEM) |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Błąd OpenSSL: 'PEM_read_bio: no start line'.
Główna przyczyna: Brakujący lub uszkodzony nagłówek banera '-----BEGIN ...-----' albo uszkodzenie znaków nowej linii CRLF systemu Windows.
Odzyskiwanie: Przywróć standardowy 5-kreskowy nagłówek za pomocą narzędzia File2File Certificate Tool.
Analiza bezpieczeństwa i wektory ataku na parser
Pliki PEM często zawierają nieszyfrowane klucze prywatne ('-----BEGIN RSA PRIVATE KEY-----'), które w przypadku ujawnienia zapewniają pełny dostęp do serwera.
Znane wektory ataku
- Zatwierdzanie nieszyfrowanych kluczy prywatnych PEM do publicznych repozytoriów kontroli wersji.
- Ataki typu directory traversal odczytujące klucze PEM serwera poprzez lokalne dołączanie plików (LFI).
- Słabe hasła do zaszyfrowanych plików PEM z kluczami prywatnymi.
Najlepsze praktyki obronne:
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Czytelny dla człowieka i gotowy do wklejenia: można go kopiować do formularzy internetowych, konsol chmurowych (AWS, GCP) oraz wiadomości e-mail.
- Uniwersalny standard w OpenSSL, systemach Linux, Dockerze, sekretach Kubernetes oraz infrastrukturze chmurowej.
- Obsługa wielu certyfikatów: pozwala na przechowywanie pełnych łańcuchów zaufania certyfikatów w jednym pliku tekstowym poprzez układanie bloków jeden na drugim.
Ograniczenia techniczne i wady
- Około 33% większy niż surowy binarny DER ze względu na narzut kodowania Base64.
- Przypadkowe uszkodzenie: zmiany zawijania wierszy lub brakujące kreski w banerach mogą powodować błędy analizy składniowej.
- Nieszyfrowane pliki PEM z kluczami prywatnymi stanowią ekstremalne zagrożenie bezpieczeństwa w przypadku wycieku.
Ciekawe informacje techniczne
- Mimo że został stworzony dla zaszyfrowanego systemu poczty e-mail, który nie zyskał popularności, jego opancerzenie ASCII stało się najpopularniejszym formatem bezpieczeństwa na świecie.
- Każdy prawidłowy plik PEM zaczyna się od pięciu kresek: '-----BEGIN'.
- Pełny łańcuch certyfikatów SSL tworzy się po prostu poprzez wklejenie wielu bloków 'BEGIN CERTIFICATE' jeden po drugim w jednym pliku .pem.
Często zadawane pytania techniczne
Czym jest plik .pem?
Plik .pem to oparty na tekście format służący do przechowywania certyfikatów bezpieczeństwa, kluczy prywatnych lub całych łańcuchów certyfikatów w czytelnym formacie Base64 z nagłówkami '-----BEGIN...-----'.
Jak przekonwertować plik PEM do formatu P12 lub PFX?
Możesz przekonwertować swój certyfikat PEM oraz klucz prywatny na zabezpieczony hasłem plik P12/PFX jednym kliknięciem za pomocą File2File.app bezpośrednio w przeglądarce internetowej.
Jak mogę sprawdzić datę ważności certyfikatu PEM?
Otwórz swój plik .pem w File2File.app, aby zdekodować datę wygaśnięcia, wystawcę oraz nazwy domen bez wysyłania jakichkolwiek danych na serwery zewnętrzne.
Powiązane pary konwersji PEM
Konwersja binarnego certyfikatu bezpieczeństwa CRT na format tekstowy PEM zakodowany w Base64 zapewnia jego zgodność z serwerami internetowymi Apache, Nginx oraz nowoczesnymi systemami Linux.
Konwersja certyfikatu tekstowego PEM na binarny certyfikat CRT umożliwia serwerom Apache i systemom Windows poprawne odczytanie poświadczeń bezpieczeństwa witryny.
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.
Konwersja certyfikatu PEM do pakietu PKCS #12 łączy publiczny certyfikat oraz klucz prywatny w jeden plik zabezpieczony hasłem, co ułatwia instalację na serwerach Windows i w przeglądarkach internetowych.
Konwersja certyfikatu binarnego DER na certyfikat PEM zmienia jego kodowanie z surowych bajtów binarnych na tekst Base64 ASCII, dzięki czemu może być łatwo odczytany przez serwery internetowe i edytory tekstu.
Konwersja binarnego certyfikatu bezpieczeństwa CER do pliku tekstowego PEM zakodowanego w Base64 umożliwia administratorom łatwe odczytywanie i wklejanie kluczy zabezpieczających w konfiguracjach serwerów i aplikacji.