Wat is het P12-bestandsformaat?
Een .p12-bestand is een PKCS #12-archief dat een of meer X.509-certificaten samen met hun bijbehorende privésleutels bundelt in een enkel, met een wachtwoord beveiligd binair bestand. Het formaat werd oorspronkelijk gedefinieerd door RSA Laboratories en wordt nu beheerd door IETF RFC 7292 (2014). Het wordt veel gebruikt om inloggegevens tussen systemen over te dragen - bijvoorbeeld bij het exporteren van een TLS/SSL-certificaat van de ene server naar de andere, of bij het distribueren van een identiteit voor code-ondertekening of e-mailondertekening.
De binaire inhoud is gecodeerd in DER (Distinguished Encoding Rules) en gestructureerd als geneste ASN.1-objecten. Het bestand begint met de DER-bytes 30 82, die een ASN.1 SEQUENCE markeren, hoewel deze bytes op zichzelf niet uniek zijn voor PKCS #12. Password-Based Encryption (PBE) beschermt zowel de privésleutel als, optioneel, de certificaten. Moderne implementaties geven de voorkeur aan AES-256-CBC of 3DES-CBC; oudere software kan nog steeds op RC2 gebaseerde archieven produceren.
.p12 en .pfx zijn uitwisselbaar - beide bevatten een identieke PKCS #12-structuur; de naam .pfx dateert van vóór de RFC en is afkomstig van Microsoft. Op Windows opent het dubbelklikken op een .p12-bestand de „Wizard Certificaat importeren”. Op macOS handelt Sleutelhangertoegang de import standaard af. Op Linux is openssl pkcs12 de standaard command-line tool.
Gerelateerde formaten zijn onder meer .pem (tekstgecodeerde certificaten, niet gebundeld), .cer (alleen certificaat, geen privésleutel) en .jks (Java KeyStore - het equivalent in het Java-ecosysteem).
Beveiliging & veiligheid
RISICO: HIGHEen .p12 bevat een PRIVÉSLEUTEL, waardoor het een van de meest gevoelige bestandstypen is die een gebruiker hanteert: iedereen met het bestand en het bijbehorende wachtwoord kan zich voordoen als de eigenaar van het certificaat - code of documenten ondertekenen, hun S/MIME-e-mail verzenden/ontsleutelen, of een server opzetten met hun identiteit. E-mail een .p12 nooit onbeveiligd, plaats hem nooit in versiebeheer (een veelvoorkomend lek in CI/CD-repositories), gebruik een sterk exportwachtwoord en verwijder het bestand na het importeren. Behandel een onverwachte .p12-bijlage als verdacht. Gebruik alleen vertrouwde tools (OS-wizards, OpenSSL, Sleutelhanger) voor .p12-bestanden - nooit willekeurige „certificaatviewer”-websites, die je sleutel kunnen stelen.
Formaatdetails
in een notendopProgramma's die P12-bestanden openen
Technische details
diepe specificaties| Containertype | Versleutelde bundel met meerdere objecten die een certificaatketen en privésleutel(s) in één bestand opslaat |
| Binaire codering | DER (Distinguished Encoding Rules), gestructureerd als geneste ASN.1-objecten |
| MIME-type | application/x-pkcs12 |
| Magic bytes | 30 82 op offset 0 - DER ASN.1 SEQUENCE-tag gevolgd door een 2-byte lengteveld; niet uniek voor alleen .p12 |
| Wachtwoordbeveiliging | Verplicht voor privésleutel-bags; optioneel onafhankelijk toegepast op certificaat-bags |
| Symmetrische versleuteling | AES-256-CBC (moderne standaard); 3DES-CBC en RC2 in legacy-implementaties |
| Sleutelafleidingsfunctie | PKCS #12 KDF (PBKDF1-variant) per RFC 7292; PBKDF2 en PBMAC1 toegevoegd door RFC 9579 (2024) |
| MAC-integriteit | HMAC berekend over de AuthenticatedSafe-structuur; SHA-1 (klassiek) of SHA-256 (modern) |
| Certificaat-opslag | Ondersteunt volledige keten: leaf-certificaat, intermediate CA's en root-CA in één archief |
| Ondersteunde privésleuteltypes | RSA, DSA, ECDSA; in de praktijk meestal RSA-2048 of ECDSA P-256/P-384 |
| Friendly name | Weergave-alias per item opgeslagen als een SafeBag localKeyId of friendlyName-attribuut (OID 1.2.840.113549.9.20) |
| Uitwisselbaar formaat | .pfx is de van Microsoft afkomstige naam voor dezelfde binaire PKCS #12-structuur; de bestandsinhoud is identiek |
| Platformondersteuning | Systeemeigen op Windows (certutil, MMC Certificaten-snap-in), macOS (Sleutelhangertoegang), iOS en Android |
| Typische gebruiksscenario's | TLS/SSL-certificaat export en import, code-ondertekening, S/MIME e-mailidentiteit, client-authenticatie |
| Typische bestandsgrootte | 1-10 KB voor een enkele sleutel en certificaat; groter wanneer een volledige certificaatketen is inbegrepen |
| Uitgebracht | PKCS #12 v1.0 published 1999 by RSA Laboratories; now RFC 7292 (2014) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | www.rfc-editor.org |
P12 conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over P12-bestanden.