====== 5.3 Autenticazione con Certificati ======
Identificazione client tramite certificati PQ.
===== Certificato Principale =====
Il certificato sviluppatore viene emesso dalla CA interna.
# Richiedere certificato
openssl req -new -newkey ml-dsa-65 -keyout dev.key -out dev.csr
# Inviare CSR alla CA
# Dopo approvazione: ricevere dev.crt
===== Usare il Certificato =====
# Chiamata API con certificato client
curl --cert dev.crt --key dev.key \
https://gateway.intern:443/api/v1/dsn/demo/tables
===== Nelle Applicazioni =====
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");
===== Validazione Certificato =====
Il server verifica:
- Il certificato e valido (non scaduto)?
- E stato firmato dalla nostra CA?
- Non e revocato (CRL/OCSP)?
- Ha le estensioni richieste?
===== Libreria PQ-Crypto =====
Per la creazione e gestione programmatica di certificati PQ vedere la libreria **WvdS.System.Security.Cryptography**:
* [[..:..:..:pqcrypt:developer:beispiele:start|Esempi sviluppatori (CSR, PKI)]]
* [[..:..:..:pqcrypt:api:wvds-system-security-cryptography:x509certificates:start|API X509Certificates]]
* [[..:..:..:pqcrypt:api:wvds-system-security-cryptography:x509certificates:certificaterequestextensions|CertificateRequest Extensions]]