====== Classe RevocationExtensions ====== Extension Methods per la verifica della revoca dei certificati. ---- ===== Definizione ===== namespace WvdS.System.Security.Cryptography.X509Certificates; public static class RevocationExtensions ---- ===== Metodi ===== ^ Metodo ^ Descrizione ^ | IsRevoked | Verifica se un certificato e revocato | | FetchCrlAsync | Scarica CRL dall'URL (dall'estensione del certificato) | | CheckRevocationAsync | Combinato: carica CRL e verifica revoca | | GetCrlDistributionPoints | Estrae URL CRL dal certificato | | GetOcspUrls | Estrae URL OCSP dal certificato | ---- ===== Verificare revoca ===== **Con CRL esistente:** var certificate = new X509Certificate2("user.cer"); byte[] crlData = File.ReadAllBytes("ca.crl"); var caCert = new X509Certificate2("ca.cer"); RevocationResult result = certificate.IsRevoked(crlData, caCert, CryptoMode.Hybrid); if (result.Success && result.IsRevoked) { Console.WriteLine($"Certificato revocato il: {result.RevocationDate}"); Console.WriteLine($"Motivo: {result.Reason}"); } **Caricamento CRL automatico:** RevocationResult result = await certificate.CheckRevocationAsync( caCert, mode: CryptoMode.Hybrid); ---- ===== Classe RevocationResult ===== ^ Proprieta ^ Tipo ^ Descrizione ^ | ''IsRevoked'' | bool | Certificato e revocato | | ''RevocationDate'' | DateTimeOffset? | Data della revoca | | ''Reason'' | CrlReason? | Motivo della revoca | | ''CrlVerified'' | bool | Firma CRL verificata | | ''Success'' | bool | Verifica riuscita | ---- ===== Cache CRL ===== using var cache = new CrlCache(defaultCacheDuration: TimeSpan.FromHours(1)); // Verifica con cache CRL automatica RevocationResult result1 = await cache.CheckRevocationAsync(cert1, caCert); RevocationResult result2 = await cache.CheckRevocationAsync(cert2, caCert); // CRL dalla cache ---- ===== Vedi anche ===== * [[.:certificaterevocationlistextensions|CertificateRevocationListExtensions]] * [[.:x509chainextensions|X509ChainExtensions]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional// {{tag>crl revocation widerruf ocsp}}