Co to jest format pliku P12?
Plik .p12 to archiwum PKCS #12, które łączy jeden lub więcej certyfikatów X.509 wraz z dopasowanymi do nich kluczami prywatnymi w pojedynczym, chronionym hasłem pliku binarnym. Format ten został pierwotnie zdefiniowany przez RSA Laboratories, a obecnie podlega IETF RFC 7292 (2014). Jest powszechnie używany do przenoszenia poświadczeń między systemami - na przykład podczas eksportowania certyfikatu TLS/SSL z jednego serwera i importowania go na inny, lub dystrybucji tożsamości do podpisywania kodu lub poczty e-mail.
Zawartość binarna jest zakodowana w formacie DER (Distinguished Encoding Rules) i ustrukturyzowana jako zagnieżdżone obiekty ASN.1. Plik zaczyna się od bajtów DER 30 82, które oznaczają ASN.1 SEQUENCE, choć same te bajty nie są unikalne dla PKCS #12. Szyfrowanie oparte na haśle (PBE) chroni zarówno klucz prywatny, jak i opcjonalnie certyfikaty. Nowoczesne implementacje preferują AES-256-CBC lub 3DES-CBC; starsze oprogramowanie może nadal tworzyć archiwa oparte na RC2.
.p12 i .pfx są stosowane zamiennie - oba posiadają identyczną strukturę PKCS #12; nazwa .pfx wyprzedza RFC i pochodzi od firmy Microsoft. W systemie Windows dwukrotne kliknięcie pliku .p12 otwiera Kreatora importu certyfikatów. W systemie macOS Dostęp do pęku kluczy obsługuje import natywnie. W systemie Linux standardowym narzędziem wiersza poleceń jest openssl pkcs12.
Powiązane formaty obejmują .pem (certyfikaty kodowane tekstowo, niepakietowane), .cer (tylko certyfikat, bez klucza prywatnego) oraz .jks (Java KeyStore - odpowiednik w ekosystemie Java).
Bezpieczeństwo
RYZYKO: HIGHPlik .p12 zawiera KLUCZ PRYWATNY, co czyni go jednym z najbardziej wrażliwych typów plików, z jakimi styka się użytkownik: każdy, kto posiada plik i hasło, może podszyć się pod właściciela certyfikatu - podpisywać kod lub dokumenty w jego imieniu, wysyłać/odszyfrowywać e-maile S/MIME lub uruchomić serwer z jego tożsamością. Nigdy nie wysyłaj .p12 e-mailem bez zabezpieczeń, nie umieszczaj go w systemach kontroli wersji (częsty wyciek w repozytoriach CI/CD), używaj silnego hasła eksportu i usuń plik po zaimportowaniu. Traktuj nieoczekiwane załączniki .p12 jako podejrzane. Obsługuj pliki .p12 wyłącznie za pomocą zaufanych narzędzi (kreatory systemowe, OpenSSL, Pęk kluczy) - nigdy za pośrednictwem przypadkowych stron „podglądu certyfikatów”, które mogą wykraść Twój klucz.
Szczegóły formatu
w pigułceProgramy otwierające pliki P12
Szczegóły techniczne
specyfikacja| Typ kontenera | Zaszyfrowany pakiet wieloobiektowy przechowujący łańcuch certyfikatów i klucze prywatne w jednym pliku |
| Kodowanie binarne | DER (Distinguished Encoding Rules), ustrukturyzowane jako zagnieżdżone obiekty ASN.1 |
| Typ MIME | application/x-pkcs12 |
| Magiczne bajty | 30 82 pod offsetem 0 - znacznik DER ASN.1 SEQUENCE, po którym następuje 2-bajtowe pole długości; nieunikalne dla samego .p12 |
| Ochrona hasłem | Obowiązkowa dla kontenerów kluczy prywatnych; opcjonalnie stosowana niezależnie dla kontenerów certyfikatów |
| Szyfrowanie symetryczne | AES-256-CBC (nowoczesny standard); 3DES-CBC i RC2 w starszych implementacjach |
| Funkcja skrótu klucza | PKCS #12 KDF (wariant PBKDF1) zgodnie z RFC 7292; PBKDF2 i PBMAC1 dodane przez RFC 9579 (2024) |
| Integralność MAC | HMAC obliczany nad strukturą AuthenticatedSafe; SHA-1 (klasyczny) lub SHA-256 (nowoczesny) |
| Przechowywanie certyfikatów | Obsługuje pełny łańcuch: certyfikat końcowy, pośrednie urzędy certyfikacji (CA) i główny urząd CA w jednym archiwum |
| Obsługiwane typy kluczy prywatnych | RSA, DSA, ECDSA; w praktyce najczęściej RSA-2048 lub ECDSA P-256/P-384 |
| Przyjazna nazwa | Alias wyświetlania dla wpisu, przechowywany jako atrybut SafeBag localKeyId lub friendlyName (OID 1.2.840.113549.9.20) |
| Format zamienny | .pfx to nazwa pochodząca od Microsoft dla tej samej struktury binarnej PKCS #12; zawartość plików jest identyczna |
| Obsługa platform | Natywna w systemach Windows (certutil, przystawka Certyfikaty MMC), macOS (Dostęp do pęku kluczy), iOS oraz Android |
| Typowe przypadki użycia | Eksport i import certyfikatów TLS/SSL, podpisywanie kodu, tożsamość e-mail S/MIME, uwierzytelnianie klienta |
| Typowy rozmiar pliku | 1-10 KB dla pojedynczego klucza i certyfikatu; większy, gdy dołączony jest pełny łańcuch certyfikatów |
| Wydano | PKCS #12 v1.0 published 1999 by RSA Laboratories; now RFC 7292 (2014) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.rfc-editor.org |
Konwersje P12
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki P12.