Où mettre les certificats cacert.pem pour cURL?
Je suis en train de mettre à jour rvm sur un serveur Debian :
rvm get stable
mais j'ai eu l'suivantes erreur :
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here : http://curl.haxx.se/docs/sslcerts.html
J'ai installé ce serveurs d'environ 5 mois et tout fonctionnait bien, mais il semble que quelque chose a changé sur le certificat de https://rvm.io
Donc j'ai réussi à télécharger un nouveau bundle certificat cacert.pem dans mon répertoire utilisateur) :
wget http://curl.haxx.se/ca/cacert.pem
Et essayez une autre commande que le officiel doc dit, mais avec une option pour le fichier de certificat à utiliser :
\curl --cacert ./cacert.pem -L https://get.rvm.io | bash -s stable # update to stable
Choses déplacé un peu vers l'avant. Malheureusement, plus tard, rvm exécuter de nouveau curl pendant le processus d'installation et j'ai eu de nouveau la même erreur.
Donc je me demandais où mettre mon cacert.fichier pem pour remplacer theone utilisé par cURL ?
J'ai essayé d'autres techniques :
la création d'un .curlrc fichier contenant cacert = ~/cacert.pem
mais j'ai une erreur :
CAfile: cacert.pem
CApath: /etc/ssl/certs
J'ai donc essayé de copier mon cacert.pem dans le répertoire /usr/share/ca-certificates/cacert.org
et fait un sym lien dans /etc/ssl/certs qui pointent vers /usr/share/ca-certificates/cacert.org/cacert.pem
Mais, quand je
rvm get stable
J'ai obtenu l'erreur :
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here : http://curl.haxx.se/docs/sslcerts.html
J'ai aussi essayé cette ci-dessous, sans résultat différent :
sudo update-ca-certificates -f
Donc, je me demande où mettre mon cacert.fichier pem ?
OriginalL'auteur Douglas | 2012-11-01
Vous devez vous connecter pour publier un commentaire.
Ok, j'ai réussi à faire cela fonctionne, mais je ne suis pas très heureux avec ma solution.
Première erreur que je faisais, c'est que l'instruction dans la .curlrc fichier est incorrect.
Nous devrions utiliser ce fichier de la même façon, nous spécifier des options pour le "roulage" de la commande.
J'ai donc enlevé le "signe égal" :
Avec ce que j'étais capable de faire la première partie de la commande de travail :
Le bash partie était toujours pas parce que rvm a l'aide de curl à nouveau en mode administrateur.
Alors j'ai copié mon .curlrc fichier dans le /root dossier.
Et cela a fonctionné !
Je pourrait même appeler le standard de la commande rvm :
Mais c'est un peu délicat, et je préférerais que curl utiliser mon cacert.fichier pem sans toutes ces .curlrc fichiers.
Googler plus, j'ai trouvé quelques informations pratiques ici et ici.
La première référence a une petite erreur :
Quand j'ai lu la page de manuel de "sudo update-ca-certificates --frais de la commande", j'ai réalisé que le gars était de les ranger son dossier au mauvais endroit.
Vous devez mettre votre certificat dans /usr/share/ca-certificates dossier au lieu de /usr/local/share/ca-certificates , puis ajouter une ligne pour votre certificat dans le fichier de configuration /etc/ca-certificates.conf (par exemple, “my_ca.crt“).
Ensuite, vous pouvez exécuter votre "sudo update-ca-certificates --frais de la commande".
Remarque : Si vous copiez votre certificat à la /usr/local/share/ca-certificates au lieu de cela, alors vous n'avez plus besoin de modifier le /etc/ca-certificates.conf fichier de configuration, ni courir le "sudo update-ca-certificates --frais de la commande".
Toutefois, dans mon cas, pour la première solution (/usr/share/ca-certificates) j'ai une erreur quand j'ai couru le "sudo update-ca-certificates --frais de la commande".
Comme deuxième solution, j'ai essayé juste pour mettre mon certificat dans le répertoire /usr/local/share/ca-certificates. Mais il ne fonctionne pas.
Donc j'ai abandonné et j'ai gardé mes deux .curlrc fichiers.
Donc, si quelqu'un pouvait point de ce que je faisais mal, je vous serais très reconnaissant.
curl -k -L https://get.rvm.io | bash -s stable
Sûr, mais l'objectif lors de l'utilisation d'un certificat est de rendre les choses sûr. Si vous utilisez l'option '-k' paramètre. Vous permettra d'insécurité connexion SSL. Extrait de la page de man : -k, --sécurisé (SSL) Cette option permet explicitement curl pour effectuer "l'insécurité" connexions SSL et les transferts.
Oui, mais si tout ce qui vous intéresse est de le faire (s'applique à la plupart des gens je pense), -k est une option.
OriginalL'auteur Douglas