50 votes

Emplacement du bundle de certificats CA par défaut

Je dois ajouter un fichier cert .pem à mon bundle cert CA par défaut mais je ne sais pas où se trouve le bundle cert CA par défaut.

Je dois ajouter mon nouveau fichier .pem à ce bundle par défaut. Je préférerais faire cela plutôt que de spécifier mon propre emplacement en utilisant l'option --capath.

cURL sait clairement où chercher mais je ne vois aucune commande cURL qui révèle l'emplacement. Y a-t-il une commande qui révélera cet emplacement? Comment puis-je le trouver?

Selon cURL :
Ajoutez le certificat CA pour votre serveur au bundle cert CA par défaut existant. Le chemin par défaut du bundle CA utilisé peut être modifié en exécutant configure avec l'option --with-ca-bundle pointant vers le chemin de votre choix.

Merci

54voto

Flup Points 7496

Exécuter curl avec strace pourrait vous donner un indice.

strace curl https://www.google.com |& grep open

Beaucoup de sortie, mais juste avant la fin je vois:

open("/etc/ssl/certs/578d5c04.0", O\_RDONLY) = 4

qui est l'endroit où sont stockés mes certificats /etc/ssl/certs/.

27voto

Il devrait y avoir un programme 'curl-config' dans le répertoire 'bin/' de curl, c'est-à-dire là où se trouve le binaire 'curl'.

./curl-config --ca

donne le chemin d'installation du bundle ca.

Je viens de faire un whatis curl-config : "Obtenir des informations sur une installation de libcurl" donc je suppose que cela ne sera disponible que si libcurl a été installé, ce qui est probablement standard cependant.

15voto

Chananel P Points 239

J'ai trouvé un moyen facile: utilisez le --cacert avec un nom de fichier incorrect, la sortie affichera le chemin.

Exemple:

~$ curl --cacert non_existing_file https://www.google.com
curl: (77) erreur de configuration des emplacements de vérification des certificats:
  CAfile: non_existing_file
  CApath: /etc/ssl/certs

13voto

Philip Rego Points 180

-v avec https dans l'URL.

$ curl -v https://google.com
* URL reconstruite vers : https://google.com/
* le délai d'attente sur la recherche de nom n'est pas pris en charge
*   Essai de 172.217.9.174...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connecté à google.com (172.217.9.174) port 443 (#0)
* ALPN, offrant http/1.1
* Sélection de la cipher : ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* emplacements de vérification du certificat configurés avec succès :
*   *CAfile: C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt*

6voto

BiG_NoBoDy Points 128

Linux (Ubuntu, Debian)

Copiez votre CA dans le répertoire /usr/local/share/ca-certificates/

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

Mettez à jour le magasin de CA

sudo update-ca-certificates

Supprimez votre CA et mettez à jour le magasin de CA:

sudo update-ca-certificates --fresh

Linux (CentOs 6)

Installez le paquet ca-certificates:

yum install ca-certificates

Activez la fonctionnalité de configuration dynamique des CA : update-ca-trust force-enable Ajoutez-le en tant que nouveau fichier à /etc/pki/ca-trust/source/anchors/:

cp foo.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust extract

Linux (CentOs 5)

Ajoutez votre certificat de confiance au fichier /etc/pki/tls/certs/ca-bundle.crt

cat foo.crt >>/etc/pki/tls/certs/ca-bundle.crt

https://manuals.gfi.com/en/kerio/connect/content/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html un très bon lien, qui explique comment l'ajouter à plusieurs OS populaires.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X