====== 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}}