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


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional

Zuletzt geändert: il 29/01/2026 alle 23:22