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