Zum Inhalt springen
ecdsa.com

PKCS #12 (PFX)

Das passwortgeschützte Archivformat aus RFC 7292, meist als .p12 oder .pfx gespeichert, das einen privaten Schlüssel mit seiner Zertifikatskette bündelt, um beides in Browser, Windows, macOS, Java und Android zu importieren.
Auch geschrieben alsPFXP12.p12.pfxPKCS#12

Eine Datei im Format PKCS #12 ist eine Struktur PFX: authentifizierte Safe-Inhalte mit Bags (keyBag, pkcs8ShroudedKeyBag, certBag, crlBag, secretBag) samt Anzeigenamen und lokalen Schlüssel-IDs, dazu ein aus dem Passwort abgeleiteter Integritäts-MAC. RFC 9579 (2024) ergänzt PBMAC1, das die alte, nur in PKCS #12 verwendete Ableitung des MAC-Schlüssels durch PBKDF2 ersetzt.

Die Standardalgorithmen entscheiden über die Kompatibilität. pkcs12 -export aus OpenSSL 3.6.5 schreibt für Zertifikate und Schlüssel AES-256-CBC mit PBKDF2 (2.048 Iterationen) und einen HMAC-SHA-256-MAC; mit -legacy schreibt es RC2-40 für Zertifikate, 3DES für den Schlüssel und einen HMAC-SHA-1-MAC – diese Kombination verlangen ältere Versionen von Windows, macOS und Java. Java verwendet seit JDK 9 PKCS #12 als Standardtyp für Keystores.

Fehler wie „mac verify failure“ bedeuten meist ein falsches Passwort, und „unsupported algorithm RC2-40-CBC“ heißt, dass eine Legacy-Datei ohne den Legacy-Provider von OpenSSL geöffnet wurde. Der PFX-Inspektor listet Bags und Algorithmen lokal auf, ohne den Schlüssel zu exportieren.

Standards und Quellen

Alle Begriffe