~~NOTOC~~
====== 6. Opoziv (Revocation) ======
**Scenariji:** 4 \\
**FFI funkcije:** ~35 \\
**Status:** ⏳ Planirano
Ova kategorija obuhvaća sve scenarije za opoziv certifikata. Kreiranje CRL-a, postavljanje OCSP Respondera i upravljanje Delta-CRL-om.
----
===== Scenariji =====
^ ID ^ Scenarij ^ Opis ^ Složenost ^ Status ^
| [[.:crl_erstellen|6.1]] | Kreiranje CRL-a | Generiranje Certificate Revocation List | ⭐⭐⭐ | ⏳ |
| [[.:ocsp_responder|6.2]] | OCSP Responder | Online Certificate Status Protocol | ⭐⭐⭐⭐ | ⏳ |
| [[.:delta_crl|6.3]] | Delta-CRL | Inkrementalna CRL ažuriranja | ⭐⭐⭐⭐ | ⏳ |
| [[.:zertifikat_widerrufen|6.4]] | Opoziv certifikata | Opoziv pojedinačnog certifikata | ⭐⭐ | ⏳ |
----
===== Arhitektura opoziva =====
flowchart TB
subgraph CA["🔐 Certificate Authority"]
REVOKE[Zahtjev za opoziv]
DB[(Revocation DB)]
CRL_GEN[CRL Generator]
OCSP_SIGN[OCSP Signer]
end
subgraph DIST["📤 Distribucija"]
CDP[CRL Distribution Point]
OCSP_SRV[OCSP Responder]
end
subgraph CLIENT["🖥️ Klijent"]
VAL[Validator]
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
----
===== Razlozi opoziva (RFC 5280) =====
^ Kod ^ Razlog ^ Opis ^
| 0 | unspecified | Razlog nije naveden |
| 1 | keyCompromise | Privatni ključ kompromitiran |
| 2 | cACompromise | CA kompromitiran |
| 3 | affiliationChanged | Organizacija promijenjena |
| 4 | superseded | Zamijenjen novim certifikatom |
| 5 | cessationOfOperation | Usluga ukinuta |
| 6 | certificateHold | Privremeno blokiran |
----
===== CRL vs OCSP =====
^ Aspekt ^ CRL ^ OCSP ^
| **Ažuriranje** | Periodično (sati/dani) | Realtime |
| **Veličina** | Raste s opozivima | Konstantno (~4 KB) |
| **Offline** | ✅ Moguće | ❌ Potreban poslužitelj |
| **Privatnost** | ✅ Upiti nisu vidljivi | ⚠️ Poslužitelj vidi upite |
| **Standard** | RFC 5280 | RFC 6960 |
----
===== Specifični zahtjevi po industrijama =====
^ Industrija ^ Metoda ^ Interval ažuriranja ^ Posebnosti ^
| **Energetika/SCADA** | CRL | 24-72h | Offline okruženja, ručna distribucija |
| **Zdravstvo** | OCSP | Realtime | gematik zahtjevi, QES |
| **Automobilska** | CRL + OCSP | 1-6h | V2X zahtijeva brzu provjeru |
| **Standardni IT** | OCSP Stapling | Realtime | Optimizirano za performanse |
----
===== Brzi početak koda =====
==== Kreiranje CRL-a ====
// Inicijalizacija CRL Buildera
var crlBuilder = ctx.CreateCrlBuilder(issuerCert, issuerKey);
// Dodavanje opozvanih certifikata
crlBuilder.AddRevokedCertificate(
serialNumber: revokedCert.SerialNumber,
revocationDate: DateTimeOffset.UtcNow,
reason: RevocationReason.KeyCompromise
);
// Generiranje CRL-a
var crl = crlBuilder.Build(
thisUpdate: DateTimeOffset.UtcNow,
nextUpdate: DateTimeOffset.UtcNow.AddDays(7),
crlNumber: 42
);
File.WriteAllBytes("intermediate.crl", crl.ToDer());
==== Opoziv certifikata ====
// Učitavanje certifikata za opoziv
var certToRevoke = ctx.LoadCertificate("compromised.crt.pem");
// Unos u Revocation-DB
ctx.RevokeCertificate(
certificate: certToRevoke,
reason: RevocationReason.KeyCompromise,
invalidityDate: DateTimeOffset.UtcNow.AddHours(-2) // Kompromitacija prije 2h
);
// Generiranje i distribucija novog CRL-a
var newCrl = ctx.GenerateCrl(issuerCert, issuerKey);
await PublishCrl(newCrl, "http://crl.example.com/intermediate.crl");
----
===== Povezane kategorije =====
^ Kategorija ^ Odnos ^
| [[.:pki:start|1. PKI infrastruktura]] | CRL Distribution Points u CA konfiguraciji |
| [[.:validierung:start|5. Validacija]] | Provjera opoziva kod validacije |
| [[.:verwaltung:start|4. Upravljanje certifikatima]] | Re-Key nakon opoziva |
----
<< [[hr:int:pqcrypt:szenarien:validierung:start|← 5. Validacija]] | [[hr:int:pqcrypt:szenarien:start|↑ Scenariji]] | [[.:verschluesselung:start|7. Šifriranje →]] >>
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//
{{tag>kategorija opoziv revocation crl ocsp}}