6. Revoca (Revocation)

Scenari: 4
Funzioni FFI: ~35
Stato: Pianificato

Questa categoria comprende tutti gli scenari per la revoca di certificati. Creazione CRL, setup OCSP Responder e gestione Delta-CRL.


Scenari

ID Scenario Descrizione Complessità Stato
6.1 Creare CRL Generare Certificate Revocation List Media Pianificato
6.2 OCSP Responder Online Certificate Status Protocol Alta Pianificato
6.3 Delta-CRL Aggiornamenti CRL incrementali Alta Pianificato
6.4 Revocare certificato Revocare singolo certificato Media Pianificato

Architettura Revocation

flowchart TB subgraph CA["Certificate Authority"] REVOKE[Richiesta revoca] DB[(Revocation DB)] CRL_GEN[CRL Generator] OCSP_SIGN[OCSP Signer] end subgraph DIST["Distribuzione"] CDP[CRL Distribution Point] OCSP_SRV[OCSP Responder] end subgraph CLIENT["Client"] VAL[Validatore] end REVOKE --> DB DB --> CRL_GEN --> CDP DB --> OCSP_SIGN --> OCSP_SRV VAL --> |HTTP GET| CDP VAL --> |OCSP Request| OCSP_SRV style DB fill:#e3f2fd style CDP fill:#e8f5e9 style OCSP_SRV fill:#fff3e0


Motivi di revoca (RFC 5280)

Codice Motivo Descrizione
0 unspecified Nessun motivo specificato
1 keyCompromise Chiave privata compromessa
2 cACompromise CA compromessa
3 affiliationChanged Organizzazione modificata
4 superseded Sostituito da nuovo certificato
5 cessationOfOperation Servizio cessato
6 certificateHold Sospeso temporaneamente

CRL vs OCSP

Aspetto CRL OCSP
Aggiornamento Periodico (ore/giorni) Tempo reale
Dimensione Cresce con le revoche Costante (~4 KB)
Offline Possibile Server richiesto
Privacy Nessuna richiesta visibile Server vede le richieste
Standard RFC 5280 RFC 6960

Requisiti specifici per settore

Settore Metodo Intervallo aggiornamento Particolarità
Energia/SCADA CRL 24-72h Ambienti offline, distribuzione manuale
Sanità OCSP Tempo reale Requisiti gematik, QES
Automotive CRL + OCSP 1-6h V2X richiede reazione rapida
IT standard OCSP Stapling Tempo reale Ottimizzato per performance

Guida rapida al codice

Creare CRL

// CRL-Builder initialisieren
var crlBuilder = ctx.CreateCrlBuilder(issuerCert, issuerKey);
 
// Widerrufene Zertifikate hinzufügen
crlBuilder.AddRevokedCertificate(
    serialNumber: revokedCert.SerialNumber,
    revocationDate: DateTimeOffset.UtcNow,
    reason: RevocationReason.KeyCompromise
);
 
// CRL generieren
var crl = crlBuilder.Build(
    thisUpdate: DateTimeOffset.UtcNow,
    nextUpdate: DateTimeOffset.UtcNow.AddDays(7),
    crlNumber: 42
);
 
File.WriteAllBytes("intermediate.crl", crl.ToDer());

Revocare certificato

// Zertifikat zum Widerruf laden
var certToRevoke = ctx.LoadCertificate("compromised.crt.pem");
 
// In Revocation-DB eintragen
ctx.RevokeCertificate(
    certificate: certToRevoke,
    reason: RevocationReason.KeyCompromise,
    invalidityDate: DateTimeOffset.UtcNow.AddHours(-2)  // Kompromittierung vor 2h
);
 
// Neue CRL generieren und verteilen
var newCrl = ctx.GenerateCrl(issuerCert, issuerKey);
await PublishCrl(newCrl, "http://crl.example.com/intermediate.crl");

Categorie correlate

Categoria Relazione
1. Infrastruttura PKI CRL Distribution Points nella configurazione CA
5. Validazione Revocation Check nella validazione
4. Gestire certificati Re-Key dopo revoca

« ← 5. Validazione | ↑ Scenari | 7. Crittografia → »


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

Zuletzt geändert: il 30/01/2026 alle 07:14