Je rencontre des problèmes pour lesquels le groupe d'autorités de certification fourni avec ma version de cURL est obsolète.
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
Lire la documentation ne m'a pas aidé car je ne comprenais pas ce que je devais faire ou comment le faire. J'utilise RedHat et j'ai besoin de mettre à jour le bundle CA. Que dois-je faire pour mettre à jour mon bundle d'AC sur RedHat?
la source
La méthode recommandée pour cela sur les systèmes RHEL 6+ consiste à utiliser l' outil update-ca-trust , qui est maintenant installé par défaut.
Par conséquent, il vous suffit de déposer votre fichier crt dans
/etc/pki/ca-trust/source/anchors/
et d'exécuter l'outil. Travail effectué. C'est sûr, vous n'avez pas besoin de faire de sauvegarde. La page de manuel complète peut être trouvée ici: https://www.mankier.com/8/update-ca-trustla source
RHEL fournit les certificats de l'autorité de certification Mozilla dans le
ca-certificates
package (installez-leyum
s'il n'est pas déjà installé). Pour dire à cURL de les utiliser, utilisez le--cacert
paramètre comme suit.la source
yum install ca-certificates
et obtenuNo package ca-certificates available
ca-certificates.noarch 0:2014.1.98-70.0.el7_0
- cela n'a malheureusement pas résolu mon problème, mais je pensais que j'ajouterais ces informations.Cela dépend probablement de la version de Redhat. Vous pouvez trouver quel paquet met réellement à jour le fichier en procédant comme suit:
Mon résultat montrait que openssl-0.9.8e-12.el5 doit être mis à jour.
S'il n'y a pas de certificats mis à jour dans votre distribution, vous devez mettre à jour manuellement, conformément à la réponse de Nada.
la source
Depuis le commentaire de Dan Pritts, Red Hat met à jour plus souvent les ensembles de certificats pour les versions RHEL prises en charge. vous pouvez le voir assez facilement dans le changelog du paquet. Les certificats RHEL 6 ont été mis à jour deux fois en 2013 et deux fois en 2014.
Toutes les distributions RHEL et associées / clones / dérivées fournissent un fichier bundle à
/etc/pki/tls/certs/ca-bundle.crt
, et le même fichier à/etc/pki/tls/cert.pem
(sur les distributions plus anciennes,cert.pem
un lien symbolique versca-bundle.crt
; sur les distributions plus récentes, les deux sont des liens symboliques vers un fichier généré parupdate-ca-trust
).Dans RHEL 6 et versions ultérieures, le kit fait partie du package 'ca-certificates'. Dans RHEL 5 et les versions antérieures, il fait partie du package 'openssl'.
Dans RHEL 6 avec la mise à jour https://rhn.redhat.com/errata/RHEA-2013-1596.html et dans toute version plus récente de RHEL, le système de «certificats de système partagé» est disponible (vous devez l'exécuter
update-ca-trust enable
pour l'activer) et le meilleur méthode est celle donnée par lzap. Un avantage de ce système est qu’il fonctionne pour les applications basées sur NSS et GnuTLS ainsi que pour celles basées sur OpenSSL. Notez que vous pouvez également vous méfier d'un certificat en le plaçant dans l'annuaire/etc/pki/ca-trust/source/blacklist/
.Dans RHEL 5 et plus (et RHEL 6 si vous ne souhaitez pas utiliser le nouveau système) , vous pouvez faire confiance à CA supplémentaires en plaçant leurs fichiers de certificat au format PEM avec l'extension
.pem
dans / etc / pki / tls / certs et en cours d' exécutionc_rehash
(peut aussi avoir besoinyum install /usr/bin/c_rehash
). Cela ne fonctionnera que pour les logiciels qui utilisent les magasins d'approbation par défaut d'OpenSSL. Cela vaut mieux que de modifier ou de remplacer le fichier de paquet car cela vous permet de continuer à recevoir les mises à jour officielles du fichier de paquet.Les logiciels qui utilisent directement l’un des emplacements de fichiers du bundle (au lieu de demander à OpenSSL d’utiliser les librairies sécurisées par défaut du système) ne respecteront pas la modification; si vous avez un tel logiciel, vous êtes bloqué pour éditer le fichier de bundle (ou pour améliorer le logiciel). Les logiciels qui n'utilisent pas du tout OpenSSL ne respecteront pas le certificat ajouté.
la source
Il me suffisait de faire cela sur une vieille boîte RHEL5. J'ai touché le crochet 22 ... curl rejetterait le téléchargement https car les certificats de la machine étaient trop anciens pour valider les certificats curl.haxx.se.
J'ai utilisé l'option --insecure de curl pour forcer le téléchargement https. (Ouais, je sais ... c'est "peu sûr".)
la source
Pour RHEL 6 , j'ai pu résoudre ce problème en mettant à jour et en réinstallant le dernier package CA certs de Red Hat:
(Dans mon cas, cela suffisait pour autoriser le certificat de signature "Let's Encrypt Authority X3" plus récent.
la source