====== Upravljanje certifikatov ======
Kompaktni primeri za upravljanje certifikatov. → **Podrobnosti:** [[..:verwaltung:start|Scenariji upravljanja]]
----
===== Podaljšanje certifikata (isti ključ) =====
var caCert = new X509Certificate2("intermediate-ca.pfx", "geslo");
var oldCert = new X509Certificate2("server.pfx", "geslo");
var privateKey = oldCert.GetECDsaPrivateKey();
var request = new CertificateRequest(
oldCert.SubjectName, (ECDsa)privateKey, HashAlgorithmName.SHA384);
// Prevzem razširitev (razen SKI)
foreach (var ext in oldCert.Extensions)
if (ext.Oid?.Value != "2.5.29.14")
request.CertificateExtensions.Add(ext);
// Nova serijska številka
var serial = new byte[20];
RandomNumberGenerator.Fill(serial);
serial[0] &= 0x7F;
var renewedCert = request.Create(caCert,
DateTimeOffset.UtcNow, DateTimeOffset.UtcNow.AddYears(1), serial);
→ **Podrobnosti:** [[..:verwaltung:renewal|Podaljšanje]]
----
===== Zamenjava ključa (nov ključ) =====
var oldCert = new X509Certificate2("server.crt");
using var newKey = ECDsa.Create(ECCurve.NamedCurves.nistP384);
var request = new CertificateRequest(
oldCert.SubjectName, newKey, HashAlgorithmName.SHA384);
// Prevzem SAN-ov in EKU
if (oldCert.Extensions["2.5.29.17"] is { } san)
request.CertificateExtensions.Add(san);
if (oldCert.Extensions["2.5.29.37"] is { } eku)
request.CertificateExtensions.Add(eku);
// Ustvarjanje novega certifikata, preklic starega!
→ **Podrobnosti:** [[..:verwaltung:rekey|Zamenjava ključa]]
----
===== Ustvarjanje CRL =====
var caCert = new X509Certificate2("intermediate-ca.pfx", "geslo");
var crlBuilder = new CertificateRevocationListBuilder();
crlBuilder.AddEntry(
serialNumber: new byte[] { 0x01, 0x23, 0x45 },
revocationTime: DateTimeOffset.UtcNow,
reason: X509RevocationReason.KeyCompromise);
var crl = crlBuilder.Build(caCert,
crlNumber: BitConverter.GetBytes(1L),
nextUpdate: DateTimeOffset.UtcNow.AddDays(7),
HashAlgorithmName.SHA384);
File.WriteAllBytes("intermediate.crl", crl);
→ **Podrobnosti:** [[..:widerruf:crl_erstellen|Ustvarjanje CRL]]
----
===== Kontrolni seznam =====
**Pred iztekom (30 dni):**
* Načrtovanje podaljšanja
* Odločitev za podaljšanje ali zamenjavo ključa
**Pri kompromitaciji:**
* Takoj zamenjava ključa (nov ključ!)
* Preklic starega certifikata
* Posodobitev CRL
----
<< [[.:start|← Kratka referenca]] | [[..:verwaltung:start|→ Scenariji upravljanja (podrobnosti)]] >>
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//
{{tag>kurzreferenz verwaltung renewal rekey crl}}