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