12. Import/Export
Scenari: 4
Funzioni FFI: ~30
Stato: ⏳ Pianificato
Questa categoria comprende tutti gli scenari per l'importazione e l'esportazione di certificati e chiavi. PEM, PFX/PKCS#12, PKCS#7 e interoperabilità con altri sistemi.
Scenari
| ID | Scenario | Descrizione | Complessità | Stato |
|---|---|---|---|---|
| 12.1 | Esportazione/Importazione PEM | Certificati codificati Base64 | ⭐⭐ | ⏳ |
| 12.2 | PFX/PKCS#12 | Bundle Certificato + Chiave privata | ⭐⭐⭐ | ⏳ |
| 12.3 | Catena PKCS#7 | Esportazione catena di certificati | ⭐⭐ | ⏳ |
| 12.4 | Interoperabilità | OpenSSL, Windows, Java | ⭐⭐⭐⭐ | ⏳ |
Formati
flowchart TB
subgraph CERT["📜 Certificati"]
PEM_C[".crt.pem
Base64 + Header"] DER_C[".crt.der
Binary DER"] end subgraph KEY["🔑 Chiavi"] PEM_K[".key.pem
PKCS#8 Base64"] DER_K[".key.der
PKCS#8 Binary"] ENC_K[".key.enc.pem
PKCS#8 cifrato"] end subgraph BUNDLE["📦 Bundle"] PFX[".pfx / .p12
Cert + Key"] P7B[".p7b
Cert Chain"] end PEM_C <--> DER_C PEM_K <--> DER_K PEM_K <--> ENC_K PEM_C --> PFX PEM_K --> PFX PEM_C --> P7B style PFX fill:#e8f5e9 style P7B fill:#e3f2fd
Base64 + Header"] DER_C[".crt.der
Binary DER"] end subgraph KEY["🔑 Chiavi"] PEM_K[".key.pem
PKCS#8 Base64"] DER_K[".key.der
PKCS#8 Binary"] ENC_K[".key.enc.pem
PKCS#8 cifrato"] end subgraph BUNDLE["📦 Bundle"] PFX[".pfx / .p12
Cert + Key"] P7B[".p7b
Cert Chain"] end PEM_C <--> DER_C PEM_K <--> DER_K PEM_K <--> ENC_K PEM_C --> PFX PEM_K --> PFX PEM_C --> P7B style PFX fill:#e8f5e9 style P7B fill:#e3f2fd
Panoramica dei formati
| Formato | Estensione | Contenuto | Cifrato | Utilizzo |
|---|---|---|---|---|
| PEM | .pem, .crt, .key | Oggetti singoli | Opzionale | Linux, OpenSSL |
| DER | .der, .cer | Oggetti singoli | No | Protocolli binari |
| PFX/PKCS#12 | .pfx, .p12 | Cert + Key + Chain | Sì | Windows, Java |
| PKCS#7 | .p7b, .p7c | Catena di certificati | No | Distribuzione catena |
| JKS | .jks | Java KeyStore | Sì | Applicazioni Java |
Interoperabilità
| Da/A | 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 | - |
Avvio rapido con codice
Esportazione PEM
// Certificato come PEM string certPem = certificate.ToPem(); File.WriteAllText("server.crt.pem", certPem); // Chiave privata cifrata come PEM string keyPem = privateKey.ToEncryptedPem( password: securePassword, algorithm: EncryptionAlgorithm.Aes256Gcm ); File.WriteAllText("server.key.pem", keyPem);
Esportazione PFX/PKCS#12
// Creazione PFX con certificato, chiave e catena byte[] pfxData = ctx.ExportToPfx( certificate: serverCert, privateKey: serverKey, chain: new[] { intermediateCert, rootCert }, password: pfxPassword, friendlyName: "Server Certificate" ); File.WriteAllBytes("server.pfx", pfxData);
Importazione PFX
// Caricamento PFX var (cert, key, chain) = ctx.ImportFromPfx( pfxPath: "server.pfx", password: pfxPassword ); Console.WriteLine($"Certificate: {cert.Subject}"); Console.WriteLine($"Chain length: {chain.Length}");
Esportazione catena PKCS#7
// Catena di certificati come P7B byte[] p7bData = ctx.ExportChainToPkcs7( certificates: new[] { serverCert, intermediateCert, rootCert } ); File.WriteAllBytes("chain.p7b", p7bData);
Comandi OpenSSL
PEM → PFX
openssl pkcs12 -export \ -in server.crt.pem \ -inkey server.key.pem \ -certfile chain.pem \ -out server.pfx \ -name "Server Certificate"
PFX → PEM
# Estrazione certificato openssl pkcs12 -in server.pfx -clcerts -nokeys -out server.crt.pem # Estrazione chiave privata openssl pkcs12 -in server.pfx -nocerts -out server.key.pem # Estrazione catena openssl pkcs12 -in server.pfx -cacerts -nokeys -out chain.pem
DER → PEM
openssl x509 -in cert.der -inform DER -out cert.pem -outform PEM
Categorie correlate
| Categoria | Relazione |
|---|---|
| 11. Gestione chiavi | Esportazione chiavi |
| 4. Gestione certificati | Backup/Restore |
| 10. TLS/mTLS | Distribuzione certificati |
« ← 11. Gestione chiavi | ↑ Scenari | 🏠 Pagina iniziale → »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: il 30/01/2026 alle 01:15