Kompaktni primeri za uvoz/izvoz. → Podrobnosti: Scenariji uvoza/izvoza
var cert = new X509Certificate2("certificate.pfx", "geslo"); // Certifikat kot PEM string certPem = cert.ExportCertificatePem(); File.WriteAllText("certificate.pem", certPem); // Zasebni ključ kot PEM (šifriran) using var key = cert.GetECDsaPrivateKey(); string keyPem = key.ExportEncryptedPkcs8PrivateKeyPem( "geslo"u8, new PbeParameters( PbeEncryptionAlgorithm.Aes256Cbc, HashAlgorithmName.SHA256, 100000)); File.WriteAllText("private.key", keyPem);
→ Podrobnosti: Izvoz PEM
// Izvoz var cert = new X509Certificate2("certificate.pfx", "staro"); byte[] pfx = cert.Export(X509ContentType.Pfx, "novo"); File.WriteAllBytes("exported.pfx", pfx); // Uvoz var imported = new X509Certificate2("exported.pfx", "novo", X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);
→ Podrobnosti: Izvoz PFX
// Izvoz var chain = new X509Certificate2Collection(); chain.Add(endEntity); chain.Add(intermediate); chain.Add(root); byte[] p7b = chain.Export(X509ContentType.Pkcs7); File.WriteAllBytes("chain.p7b", p7b); // Uvoz var imported = new X509Certificate2Collection(); imported.Import("chain.p7b");
→ Podrobnosti: PKCS#7 veriga
// Za Java: PKCS#12 z združljivimi algoritmi byte[] pfx = cert.Export(X509ContentType.Pfx, "geslo"); // Za OpenSSL: Format PEM 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
→ Podrobnosti: Interoperabilnost
| Format | Končnica | Vsebina |
|---|---|---|
| PEM | .pem, .crt, .key | Base64 z glavo |
| DER | .der, .cer | Binarno |
| PFX/PKCS#12 | .pfx, .p12 | Certifikat + ključ + veriga |
| PKCS#7 | .p7b, .p7c | Samo certifikati |
« ← Kratka referenca | → Scenariji uvoza/izvoza (podrobnosti) »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional