====== Import/Export ======
Kompakte Beispiele für Import/Export. → **Details:** [[de:int:pqcrypt:szenarien:import_export:start|Import/Export-Szenarien]]
----
===== PEM Export =====
var cert = new X509Certificate2("certificate.pfx", "passwort");
// Zertifikat als PEM
string certPem = cert.ExportCertificatePem();
File.WriteAllText("certificate.pem", certPem);
// Private Key als PEM (verschlüsselt)
using var key = cert.GetECDsaPrivateKey();
string keyPem = key.ExportEncryptedPkcs8PrivateKeyPem(
"passwort"u8, new PbeParameters(
PbeEncryptionAlgorithm.Aes256Cbc,
HashAlgorithmName.SHA256, 100000));
File.WriteAllText("private.key", keyPem);
→ **Details:** [[de:int:pqcrypt:szenarien:import_export:pem_export|PEM Export]]
----
===== PFX/PKCS#12 =====
// Export
var cert = new X509Certificate2("certificate.pfx", "alt");
byte[] pfx = cert.Export(X509ContentType.Pfx, "neu");
File.WriteAllBytes("exported.pfx", pfx);
// Import
var imported = new X509Certificate2("exported.pfx", "neu",
X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);
→ **Details:** [[de:int:pqcrypt:szenarien:import_export:pfx_export|PFX Export]]
----
===== PKCS#7 Zertifikatskette =====
// Export
var chain = new X509Certificate2Collection();
chain.Add(endEntity);
chain.Add(intermediate);
chain.Add(root);
byte[] p7b = chain.Export(X509ContentType.Pkcs7);
File.WriteAllBytes("chain.p7b", p7b);
// Import
var imported = new X509Certificate2Collection();
imported.Import("chain.p7b");
→ **Details:** [[de:int:pqcrypt:szenarien:import_export:pkcs7_chain|PKCS#7 Chain]]
----
===== Cross-Platform (Java/OpenSSL) =====
// Für Java: PKCS#12 mit kompatiblen Algorithmen
byte[] pfx = cert.Export(X509ContentType.Pfx, "passwort");
// Für OpenSSL: PEM-Format
string pem = cert.ExportCertificatePem();
# OpenSSL: PEM → PKCS#12
openssl pkcs12 -export -in cert.pem -inkey key.pem -out cert.pfx
# OpenSSL: PKCS#12 → PEM
openssl pkcs12 -in cert.pfx -out cert.pem -nodes
→ **Details:** [[de:int:pqcrypt:szenarien:import_export:interop|Interoperabilität]]
----
===== Format-Übersicht =====
^ Format ^ Extension ^ Inhalt ^
| PEM | .pem, .crt, .key | Base64 mit Header |
| DER | .der, .cer | Binär |
| PFX/PKCS#12 | .pfx, .p12 | Cert + Key + Chain |
| PKCS#7 | .p7b, .p7c | Nur Zertifikate |
----
<< [[.:start|← Kurzreferenz]] | [[de:int:pqcrypt:szenarien:import_export:start|→ Import/Export-Szenarien (Details)]] >>
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//
{{tag>kurzreferenz import export pem pfx pkcs7}}