====== X509Certificate2ExportExtensions ======
**Namespace:** ''WvdS.System.Security.Cryptography.X509Certificates''
Extension di export e import per ''X509Certificate2'' con persistenza chiavi post-quantum. Permette il salvataggio e il ripristino di chiavi PQ in file PFX/PKCS#12.
===== Metodi di export =====
^ Metodo ^ Descrizione ^
| ''ExportPfx(password, mode)'' | Esporta certificato come PFX con chiavi PQ |
| ''ExportPfx(collection, password, mode)'' | Esporta collection con chiavi PQ |
| ''ExportPfxToFile(fileName, password, mode)'' | Esporta direttamente su file |
===== Metodi di import =====
^ Metodo ^ Descrizione ^
| ''ImportPfx(pfxBytes, password, flags)'' | Importa PFX con ripristino chiavi PQ |
| ''ImportPfx(fileName, password, flags)'' | Importa da file |
| ''ImportPfxCollection(pfxBytes, password, flags)'' | Importa collection con chiavi PQ |
===== Esempio =====
// Esportare certificato
var cert = GetHybridCertificate();
cert.ExportPfxToFile("certificate.pfx", "MiaPassword123!");
// Importare successivamente
var importedCert = X509Certificate2ExportExtensions.ImportPfx(
"certificate.pfx",
"MiaPassword123!");
// Le chiavi PQ sono automaticamente ripristinate
var pqPubKey = PqKeyStore.GetPublicKey(importedCert);
===== Formato PFX =====
+---------------------------+
| Dati PKCS#12 standard |
| (Certificato + RSA/ECDSA) |
+---------------------------+
| Marker: "WVDS-PQ-KEYS-V1" |
+---------------------------+
| Chiavi PQ cifrate |
| (AES-256-GCM) |
+---------------------------+
===== Note sulla sicurezza =====
* Le chiavi private PQ sono protette con la stessa password del PFX
* Utilizzare password forti (min. 16 caratteri)
* I file PFX con chiavi PQ sono piu grandi (~4KB aggiuntivi per certificato)
===== Vedi anche =====
* [[.:x509certificate2extensions|X509Certificate2Extensions]]
* [[.:x509storeextensions|X509StoreExtensions]]
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//