Ruby : SSL_CTX_load_verify_file: system lib

1

Avatar QuozPowa
QuozPowa
Auteur Admin
Si jamais vous arrivez ici, c'est que vous avez probablement rencontré la même erreur.
Voici comme nous l'avons résolu.
Elle était déclenchée à l'appel de OpenSSL::SSL::SSLSocket.new suite à une mise à jour d'OpenSSL à la version 3 sous Ubuntu 22.04.

L'erreur complète était la suivante :
Faraday::SSLError: SSL_CTX_load_verify_file: system lib

Caused by OpenSSL::SSL::SSLError: SSL_CTX_load_verify_file: system lib

Comment la résoudre ?
L'erreur venait du fait que dans les paramètres de la fonction appelée, :ca_file pointait un fichier inexistant.
Cette valeur est initialisée par OpenSSL::X509::DEFAULT_CERT_FILE et pointe vers "/usr/lib/ssl/cert.pem".

Dans notre cas, le fichier se trouvait au chemin suivant /etc/ssl/certs/ca-certificates.crt
En appliquant le conseil donné ici, cela a résolu le problème :
https://github.com/actions/virtual-environments/issues/235#issuecomment-813668255

Voici la commande utilisée :
sudo ln -s /etc/ssl/certs/ca-certificates.crt /usr/lib/ssl/cert.pem

Ce n'est pas très propre. Serait-ce liée à une migration qui s'est mal passée ?

0 0
Liens joints à ce post

Ubuntu - missing cert file - OpenSSL::X509::DEFAULT_CERT_FILE, ENV['SSL_CERT_FILE'] · Issue #235 · actions/runner-images · GitHub

macOS & Windows are okay, but Ubuntu is missing a cert file. Normally, one of the below should point to a valid cert file. OpenSSL::X509::DEFAULT_CERT_FILE ENV['SSL_CERT_FILE'] On macOS, the value of OpenSSL::X509::DEFAULT_CERT_FILE is /...

github.com