Pakiet PKCS #12 (.p12)

IETF Standard

PKCS #12 (P12/PFX) to format kontenera, który może przechowywać klucze prywatne, certyfikaty i powiązane dane. W zależności od sposobu utworzenia plik może być chroniony hasłem albo niezaszyfrowany.

Konwertuj P12 na PEM

Darmowy konwerter z P12 na PEM w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.

Inspekcja i metadane

Systemy operacyjne i analizatory plików identyfikują pliki P12, sprawdzając początkową sekwencję bajtów binarnych:

Wybierz lub upuść pliki tutaj

Prywatnie - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

Podpis nagłówka na poziomie bajtów (Magic Bytes)

Systemy operacyjne i analizatory plików identyfikują pliki P12, sprawdzając początkową sekwencję bajtów binarnych:

PODPIS HEX (OFFSET 0):

30

REPREZENTACJA ASCII: 0

Normalizacja: IETF RFC 7292 / PKCS #12 v1.1

Specyfikacja techniczna

Architektura konteneraZaszyfrowana hasłem struktura ASN.1 PFX zawierająca SafeBags z kluczami prywatnymi, certyfikatami i listami CRL
KompresjaNieskompresowane dane kryptograficzne
Kolejność bajtów (Endianness)Big-Endian w kodowaniu ASN.1 DER
Przestrzenie kolorówNie dotyczy (zaszyfrowany magazyn kluczy)
Kanały i strukturaKlucze prywatne, certyfikaty klucza publicznego, łańcuchy certyfikatów pośrednich urzędów CA i certyfikaty głównych urzędów CA
Maks. wymiaryZazwyczaj od 5 KB do 25 KB
PrzezroczystośćZaszyfrowany kontener chroniony hasłem
Streaming i progresywne ładowanieAtomowe rozpakowywanie zaszyfrowanego archiwum

Techniczna macierz porównawcza: P12 a konkurencja

Atrybut technicznyP12 (Bieżący)PEMCRTDER
Możliwość pakowaniaKlucz prywatny i łańcuch certyfikatów w jednym plikuMożliwość połączenia w tekście, nieszyfrowany kluczTylko certyfikatPojedynczy klucz binarny lub certyfikat
SzyfrowanieChronione hasłem (AES-256)Opcjonalne hasło na kluczu prywatnymNieszyfrowany certyfikat publicznyNieszyfrowany plik binarny
Apple iOS & macOSNatywny standard eksportu tożsamościUżywany przez wiersz poleceńImportowany jako certyfikatImportowany jako surowy klucz
Zamienny z.pfx (identyczny format).crt, .key.cer.asn1

Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego

Błąd ekstrakcji: 'Mac verify error: invalid password' pomimo wpisania poprawnego hasła.

Główna przyczyna: Domyślne ustawienia OpenSSL 3.0 odrzucające przestarzałe algorytmy szyfrowania 3DES/RC2 wewnątrz starszych plików P12.

Odzyskiwanie: Ponownie zaszyfruj za pomocą nowoczesnego AES-256 przy użyciu narzędzia File2File.app Certificate Tool.

Analiza bezpieczeństwa i wektory ataku na parser

Kontenery P12 przechowują klucze prywatne o krytycznym znaczeniu, dlatego należy zastąpić przestarzałe szyfry nowoczesnymi algorytmami AES.

Znane wektory ataku

  • Ataki metodą brute-force na słabo zaszyfrowane archiwum P12 przy użyciu niskiej liczby iteracji.
  • Wykorzystanie słabych przestarzałych szyfrów RC2-40-CBC w starych plikach P12.
  • Wyciek z pamięci odszyfrowanych kluczy prywatnych w niezabezpieczonych buforach pamięci.

Najlepsze praktyki obronne: Zawsze używaj silnych haseł i nowoczesnego szyfrowania AES-256 z PBKDF2/SHA-256 dla plików P12.

Pochodzenie historyczne i kamienie milowe

2014IETF publikuje RFC 7292, standaryzując nowoczesny standard PKCS #12 v1.1 z szyfrowaniem AES.
2000Apple macOS Keychain i Microsoft Windows ustanawiają PKCS #12 standardem transportu cyfrowych identyfikatorów użytkowników.
1999RSA Laboratories wydaje PKCS #12 v1.0, zastępując wcześniejszy format PFX od Microsoftu.

Główne zalety

  • Kompletny pakiet: łączy klucz prywatny, certyfikat publiczny i cały łańcuch certyfikatów pośrednich CA w jednym pliku.
  • Szyfrowanie chronione hasłem: klucze prywatne są szyfrowane algorytmem AES-256 lub 3DES, co pozwala bezpiecznie je przesyłać.
  • Standardowy format certyfikatu klienta do uwierzytelniania w przeglądarkach i profili podpisywania kodu deweloperskiego Apple iOS.

Ograniczenia techniczne i wady

  • Do rozpakowania archiwum potrzebne jest hasło. Jeśli je zgubisz, klucza prywatnego nie da się odzyskać.
  • W starszych plikach P12 stosowano słabe algorytmy szyfrowania 3DES lub RC2, które wywołują ostrzeżenia we współczesnym OpenSSL 3.0.
  • Zawartości formatu binarnego nie można obejrzeć bez narzędzi kryptograficznych do wyodrębniania danych.

Ciekawe informacje techniczne

  • Rozszerzenia plików '.p12' i '.pfx' są w 100% zamienne i odnoszą się dokładnie do tego samego formatu.
  • Certyfikaty deweloperskie i profile aprowizacyjne Apple iOS są dystrybuowane jako pliki .p12 do podpisywania aplikacji na iPhone’a.
  • OpenSSL 3.0 uznał przestarzałe algorytmy PKCS#12 (RC2-40-CBC) za wycofane, wymagając użycia flagi '-legacy' do otwierania starych plików P12.

Często zadawane pytania techniczne

Jaka jest różnica między .p12 a .pfx?

Nie ma żadnej różnicy. .pfx to wcześniejszy format firmy Microsoft, który został ustandaryzowany przez RSA Laboratories jako PKCS #12 (.p12). Dziś oba rozszerzenia odnoszą się do dokładnie tego samego formatu.

Jak mogę wyciągnąć klucz prywatny z pliku .p12?

Za pomocą File2File.app możesz w kilka sekund wyodrębnić klucz prywatny i certyfikat publiczny do osobnych plików .pem bezpośrednio w przeglądarce.

Dlaczego mój plik P12 wymaga podania hasła?

Pliki P12 zawierają poufny klucz prywatny, dlatego szyfruje się je hasłem, by chronić twoją tożsamość cyfrową przed kradzieżą.