====== X509StoreExtensions ======
**Namespace:** ''WvdS.System.Security.Cryptography.X509Certificates''
Extension per ''X509Store'' con persistenza chiavi post-quantum. Permette il salvataggio e il ripristino di chiavi PQ nel Windows Certificate Store.
===== Metodi =====
^ Metodo ^ Descrizione ^
| ''Add(certificate, mode)'' | Aggiunge certificato e persiste chiavi PQ |
| ''AddRange(collection, mode)'' | Aggiunge piu certificati |
| ''Remove(certificate, deletePqKeys)'' | Rimuove certificato e opzionalmente chiavi PQ |
| ''Find(findType, findValue, validOnly, restorePqKeys)'' | Cerca certificati e ripristina chiavi PQ |
| ''GetCertificatesWithPqKeys()'' | Tutti i certificati con chiavi PQ ripristinate |
===== Metodi statici =====
^ Metodo ^ Descrizione ^
| ''PersistPqKeys(certificate)'' | Persiste chiavi PQ manualmente |
| ''RestorePqKeys(certificate)'' | Ripristina chiavi PQ manualmente |
| ''DeletePqKeys(certificate)'' | Elimina chiavi PQ persistite |
| ''HasPersistedPqKeys(certificate)'' | Verifica se sono presenti chiavi PQ |
===== Esempio =====
using var store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadWrite);
// Aggiungere certificato con chiavi PQ
var hybridCert = CreateHybridCertificate();
store.Add(hybridCert, CryptoMode.Hybrid);
// Cercare successivamente e ripristinare chiavi PQ
var certs = store.Find(
X509FindType.FindBySubjectName,
"MioCertificato",
validOnly: true,
restorePqKeys: true);
===== Percorso di archiviazione =====
^ Sistema operativo ^ Percorso ^
| Windows | ''%LOCALAPPDATA%\WvdS.Crypto\PqKeys\'' |
| Linux | ''~/.local/share/WvdS.Crypto/PqKeys/'' |
| macOS | ''~/Library/Application Support/WvdS.Crypto/PqKeys/'' |
===== Note sulla sicurezza =====
* Le chiavi PQ sono accessibili solo all'utente corrente (cifrate DPAPI/AES)
* Creare backup prima della migrazione di sistema
* Eseguire ''CleanupOrphanedKeys()'' regolarmente
===== Vedi anche =====
* [[.:x509certificate2exportextensions|X509Certificate2ExportExtensions]]
* [[.:truststoreextensions|TrustStoreExtensions]]
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//