====== 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}}