Convalida dei certificati
Verificare l'identità del server
Convalida dei certificati è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.
Perché convalidare i certificati?
La crittografia da sola non basta. Se crittografate una connessione verso un attaccante, avete protetto la conversazione sbagliata.
La validazione del certificato garantisce che stiate davvero comunicando con il server previsto.
Cosa verifica il client
Durante l'handshake il client verifica diversi elementi:
- La catena arriva a una radice attendibile.
- Il certificato si trova all'interno del periodo di validità.
- Il certificato non è stato revocato.
- Il nome host corrisponde.
Corrispondenza del nome host
Il nome host a cui vi siete connessi deve corrispondere alle voci Subject Alternative Name (SAN) del certificato.
Il vecchio campo Common Name (CN) è deprecato a questo scopo; i client moderni richiedono SAN.
openssl x509 -in cert.pem -noout -ext subjectAltNameDate di validità
Ogni certificato contiene i timestamp Not Before e Not After. Al di fuori di questo intervallo il certificato viene rifiutato.
openssl x509 -in cert.pem -noout -datesVerifica della catena di attendibilità
Il client percorre la catena dalla foglia fino a una radice nel proprio trust store, verificando ogni firma.
Se non esiste alcun percorso verso una radice attendibile, la validazione fallisce anche se il certificato sembra corretto.
Verifica della revoca
Il client verifica se il certificato è stato revocato anticipatamente usando OCSP o una CRL.
Molti browser si affidano all'OCSP stapling o a elenchi di revoca curati per mantenere rapide le verifiche.
Vincoli sull'uso delle chiavi
I certificati dichiarano gli usi consentiti nelle estensioni Key Usage e Extended Key Usage.
Un certificato server deve includere serverAuth; un certificato CA deve avere impostato il flag CA. I certificati usati in modo improprio vengono rifiutati.
Pinning dei certificati
Il pinning inserisce nel client il certificato o la chiave pubblica prevista (una pratica comune nelle app mobili).
Viene rifiutato anche un certificato valido, firmato da una CA, ma inatteso, proteggendo da CA non autorizzate o compromesse.
Quando la validazione fallisce
Tra gli errori di validazione più comuni ci sono:
- NET::ERR_CERT_DATE_INVALID (scaduto)
- NET::ERR_CERT_COMMON_NAME_INVALID (il nome host non corrisponde)
- NET::ERR_CERT_AUTHORITY_INVALID (emittente non attendibile)
Il pericolo di saltare la validazione
Disabilitare la verifica dei certificati (ad esempio, curl -k o verify=False) elimina ogni protezione contro l'impersonificazione.
Non dovreste mai farlo nel codice di produzione, perché espone agli attacchi man-in-the-middle.
# DO NOT do this in production
curl -k https://example.comVerifica dalla riga di comando
Potete eseguire una verifica completa della validazione su un server attivo.
openssl s_client -connect example.com:443 \
-verify_hostname example.com -verify_return_errorVerifica rapida
Uno sviluppatore imposta verify=False per ignorare un errore del certificato in produzione. Quale rischio introduce?
Riepilogo
Avete imparato come i client eseguono la validazione dei certificati.
- Le verifiche includono attendibilità della catena, date di validità, revoca e nome host (SAN).
- Il pinning aggiunge una difesa contro le CA non autorizzate.
- Non disabilitate mai la validazione in produzione.
Ora esamineremo gli attacchi comuni contro TLS.
Domande Frequenti
La lezione «Convalida dei certificati» è gratuita?
Sì — il testo completo di «Convalida dei certificati» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.
Cosa imparerò in «Convalida dei certificati»?
Verificare l'identità del server Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cyber Security Academy?
Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Convalida dei certificati»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?
Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Handshake TLS
- Suite di cifratura
- Convalida dei certificati
- Attacchi TLS comuni