PKCS # 7 enthält nicht den privaten (Schlüssel-) Teil eines Zertifikat / Privat-Schlüssel-Paares, sondern wird häufig für die Verbreitung von Zertifikaten verwendet (z. B. als Antwort auf eine PKCS # 10-Zertifikatanforderung, um S / MIME-Zertifikate zu verteilen wird zum Verschlüsseln von Nachrichten oder zum Überprüfen signierter Nachrichten usw. verwendet. Es ist wichtig zu beachten, dass dies nur für Zertifikate gilt, die per Definition öffentliche Elemente sind.
PKCS # 12 ist ein universellerer Container. Es soll sowohl den privaten Schlüssel als auch die öffentlichen Zertifikatsteile zusammen speichern, damit sie verschoben werden können. Es kann durch ein Passwort geschützt werden, um die Schlüssel zu schützen.
PFX war der Vorgänger von PKCS # 12.
Sie können (wie Anitak betont) nicht ohne zusätzliche Daten (der private Schlüsselteil) von PKCS # 7 nach PKCS # 12 konvertieren, da PKCS # 7 nicht über alle Daten verfügt.
Mark Sutton hat darauf hingewiesen, warum Sie nicht als PFX exportieren können. Der private Schlüssel des betreffenden Zertifikats ist als nicht exportierbar gekennzeichnet. Der Cryptographic Service Provider (CSP) lässt nicht zu, dass dieser Schlüssel verschoben wird. Dies ist beabsichtigt. Die einzige * Möglichkeit, ein exportierbares Zertifikat \ Schlüsselpaar zu erhalten, besteht darin, dass das ursprüngliche Zertifikat mit gesetztem exportierbaren Flag ausgestellt wurde. Es ist auch möglich, dass dem Zertifikat kein privater Schlüssel zugeordnet ist, aber ich gehe davon aus, dass dies hier nicht der Fall ist.
Es gibt eine gute Zusammenfassung der verschiedenen PKCS-Typen auf Wikipedia .
- Zumindest der einzig legitime Weg. Abhängig von der CSP \ Crypto-Hardware gibt es möglicherweise Mechanismen, insbesondere nur für Software-CSPs. Dies ist jedoch nur für mich ein Bereich für die Sicherheitslückenforschung, nicht für Systemadministratoren.