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.