Il messaggio di errore che vedi, SSL routines:tls_process_server_certificate:certificate verify failed, indica che c'è un problema con il processo di verifica del certificato SSL durante la stretta di mano SSL/TLS.
Ecco i passaggi che puoi seguire per risolvere questo problema:
Controlla la data e l'ora del sistema:
Assicurati che la data e l'ora del sistema sul tuo server siano impostate correttamente. Se sono errate, i certificati SSL/TLS potrebbero non essere verificati correttamente.
Aggiorna le Autorità di Certificazione (CA):
La libreria SSL potrebbe non avere certificati radice aggiornati. Aggiorna i certificati CA:
Per Ubuntu, puoi fare ciò utilizzando il comando seguente:
sudo apt-get install ca-certificates
Verifica la catena di certificati:
Usa uno strumento di verifica SSL (come openssl s_client
) per verificare la catena di certificati SSL. Questo può aiutarti a identificare se ci sono problemi con la catena di certificati.
Ad esempio:
openssl s_client -connect example.com:443
Sostituisci example.com
con il dominio effettivo a cui stai cercando di connetterti.
Controlla eventuali problemi di proxy o firewall:
Se il tuo server è dietro un proxy o un firewall, assicurati che consenta connessioni in uscita sulla porta 443 (HTTPS).
Verifica il certificato sul server:
Assicurati che il certificato SSL installato sul server sia valido e correttamente configurato. Controlla eventuali problemi di scadenza o configurazione errata.
Usa il dominio corretto:
Assicurati di utilizzare il dominio corretto nella tua richiesta. Il nome del dominio deve corrispondere a quello nel certificato SSL.
Disabilitare la verifica del certificato (non consigliato):
Anche se non consigliato per l'uso in produzione, puoi disabilitare temporaneamente la verifica del certificato SSL per testare se risolve il problema. Tuttavia, questo potrebbe esporre il tuo sistema a rischi di sicurezza.
In Python, puoi usare l'argomento verify=False
nella libreria requests
.
Contatta il proprietario del sito web o l'Autorità di Certificazione:
Se ti stai connettendo a un sito web o servizio di terze parti, contatta il proprietario del sito o l'autorità di certificazione per assicurarti che il loro certificato SSL sia valido e correttamente configurato.
Verifica la compatibilità della versione SSL/TLS:
Assicurati che la versione SSL/TLS utilizzata dal tuo client sia compatibile con il server. Alcuni server potrebbero richiedere versioni specifiche di SSL/TLS.
Aggiorna OpenSSL:
Assicurati che OpenSSL sia aggiornato sul tuo sistema. Le versioni obsolete potrebbero avere problemi noti con la convalida del certificato SSL.
Verifica la risoluzione DNS:
Assicurati che il tuo server possa risolvere correttamente il DNS del server di destinazione.
Ricorda di procedere con cautela, specialmente se stai considerando di disabilitare la verifica del certificato. È importante ripristinare una corretta convalida del certificato una volta che il problema è stato identificato e risolto.