====== 5.3 Zertifikat-Authentifizierung ======
Client-Identifikation über PQ-Zertifikate.
===== Haupt-Zertifikat =====
Das Entwickler-Zertifikat wird von der internen CA ausgestellt.
# Zertifikat anfordern
openssl req -new -newkey ml-dsa-65 -keyout dev.key -out dev.csr
# CSR an CA senden
# Nach Genehmigung: dev.crt erhalten
===== Zertifikat verwenden =====
# API-Aufruf mit Client-Zertifikat
curl --cert dev.crt --key dev.key \
https://gateway.intern:443/api/v1/dsn/demo/tables
===== In Anwendungen =====
var handler = new HttpClientHandler();
handler.ClientCertificates.Add(
new X509Certificate2("dev.pfx", "password"));
var client = new HttpClient(handler);
var response = await client.GetAsync("https://gateway.intern/api/v1/dsn/demo/tables");
===== Zertifikat-Validierung =====
Der Server prüft:
- Ist das Zertifikat gültig (nicht abgelaufen)?
- Wurde es von unserer CA signiert?
- Ist es nicht widerrufen (CRL/OCSP)?
- Hat es die erforderlichen Extensions?
===== PQ-Crypto Bibliothek =====
Für die programmatische Erstellung und Verwaltung von PQ-Zertifikaten siehe die **WvdS.System.Security.Cryptography** Bibliothek:
* [[de:int:pqcrypt:developer:beispiele:start|Entwickler-Beispiele (CSR, PKI)]]
* [[de:int:pqcrypt:api:wvds-system-security-cryptography:x509certificates:start|X509Certificates API]]
* [[de:int:pqcrypt:api:wvds-system-security-cryptography:x509certificates:certificaterequestextensions|CertificateRequest Extensions]]