Scenariji: 4
FFI funkcije: ~30
Status: ⏳ Načrtovano
Ta kategorija zajema vse scenarije za uvoz in izvoz certifikatov in ključev. PEM, PFX/PKCS#12, PKCS#7 in interoperabilnost z drugimi sistemi.
| ID | Scenarij | Opis | Kompleksnost | Status |
|---|---|---|---|---|
| 12.1 | PEM izvoz/uvoz | Base64 kodirani certifikati | ⭐⭐ | ⏳ |
| 12.2 | PFX/PKCS#12 | Certifikat + zasebni ključ paket | ⭐⭐⭐ | ⏳ |
| 12.3 | PKCS#7 veriga | Izvoz certifikatne verige | ⭐⭐ | ⏳ |
| 12.4 | Interoperabilnost | OpenSSL, Windows, Java | ⭐⭐⭐⭐ | ⏳ |
| Format | Končnica | Vsebuje | Šifrirano | Uporaba |
|---|---|---|---|---|
| PEM | .pem, .crt, .key | Posamezni objekti | Opcijsko | Linux, OpenSSL |
| DER | .der, .cer | Posamezni objekti | Ne | Binarni protokoli |
| PFX/PKCS#12 | .pfx, .p12 | Cert + Key + veriga | Da | Windows, Java |
| PKCS#7 | .p7b, .p7c | Certifikatna veriga | Ne | Distribucija verig |
| JKS | .jks | Java KeyStore | Da | Java aplikacije |
| Od/Do | OpenSSL | Windows | Java | .NET |
|---|---|---|---|---|
| OpenSSL | - | PFX | PKCS#7 → JKS | PEM |
| Windows | PFX → PEM | - | PFX | PFX |
| Java | JKS → PEM | JKS → PFX | - | PFX |
| .NET | PEM | PFX | PFX | - |
// Certifikat kot PEM string certPem = certificate.ToPem(); File.WriteAllText("server.crt.pem", certPem); // Zasebni ključ šifriran kot PEM string keyPem = privateKey.ToEncryptedPem( password: securePassword, algorithm: EncryptionAlgorithm.Aes256Gcm ); File.WriteAllText("server.key.pem", keyPem);
// Ustvarjanje PFX s certifikatom, ključem in verigo byte[] pfxData = ctx.ExportToPfx( certificate: serverCert, privateKey: serverKey, chain: new[] { intermediateCert, rootCert }, password: pfxPassword, friendlyName: "Server Certificate" ); File.WriteAllBytes("server.pfx", pfxData);
// Nalaganje PFX var (cert, key, chain) = ctx.ImportFromPfx( pfxPath: "server.pfx", password: pfxPassword ); Console.WriteLine($"Certifikat: {cert.Subject}"); Console.WriteLine($"Dolžina verige: {chain.Length}");
// Certifikatna veriga kot P7B byte[] p7bData = ctx.ExportChainToPkcs7( certificates: new[] { serverCert, intermediateCert, rootCert } ); File.WriteAllBytes("chain.p7b", p7bData);
openssl pkcs12 -export \ -in server.crt.pem \ -inkey server.key.pem \ -certfile chain.pem \ -out server.pfx \ -name "Server Certificate"
# Ekstrakcija certifikata openssl pkcs12 -in server.pfx -clcerts -nokeys -out server.crt.pem # Ekstrakcija zasebnega ključa openssl pkcs12 -in server.pfx -nocerts -out server.key.pem # Ekstrakcija verige openssl pkcs12 -in server.pfx -cacerts -nokeys -out chain.pem
openssl x509 -in cert.der -inform DER -out cert.pem -outform PEM
| Kategorija | Povezava |
|---|---|
| 11. Upravljanje ključev | Izvoz ključev |
| 4. Upravljanje certifikatov | Varnostna kopija/obnova |
| 10. TLS/mTLS | Namestitev certifikatov |
« ← 11. Upravljanje ključev | ↑ Scenariji | 🏠 Začetna stran → »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional