Je dois ajouter un fichier de certificat .pem à mon ensemble de certificats CA par défaut, mais je ne sais pas où le groupe de certificats CA par défaut est conservé.
J'ai besoin d'ajouter mon nouveau fichier .pem à ce bundle par défaut. Je préfère faire cela plutôt que de spécifier mon propre emplacement en utilisant --capath
cURL sait clairement où chercher, mais je ne vois aucune commande cURL qui révèle l'emplacement. Existe-t-il une commande qui révélera cet emplacement? Comment le trouver?
Selon cURL:
ajoutez le certificat CA de votre serveur à l'ensemble de certificats 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 indiquant le chemin de votre choix.
Merci
la source
Réponses:
Courir
curl
avecstrace
pourrait vous donner un indice.Beaucoup de sortie, mais juste à la fin je vois:
qui est où mes certificats sont stockés.
la source
strace
!strace
non disponible sur macOS, apparemment. L '"équivalent"dtruss
m'a dit "dtrace: n'a pas réussi à initialiser dtrace: DTrace nécessite des privilèges supplémentaires". Je l'ai donc utilisésudo
avec. A quoi il a répondu "dtrace: échec de l'exécution de curl: dtrace ne peut pas contrôler les exécutables signés avec des droits restreints". Pas très utile.Il devrait y avoir un programme 'curl-config' dans 'bin /' de curl, c'est-à-dire où réside le binaire 'curl'.
./curl-config --ca
donne le chemin d'installation du bundle ca.
Je viens de faire ce qui est 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, je présume, est standard.
la source
curl-config
programme n'est pas disponible avec toutes les versions du programme ou des installations. Par exemple, certains administrateurs peuvent ne pas comprendre le but du programme et ne pas l'installer car ils pensent que ce n'est qu'un outil de configuration de build. De plus, si l'utilisateur qui a besoin du programme n'est pas l'administrateur d'un système, il ne peut pas l'installer. J'ai accès à deux systèmes, l'un n'a pas ce programme, l'autre ne donne aucune sortie pourcurl-config --ca
.strace
pour trouver des informations de configuration ne devrait pas être nécessaire.J'ai trouvé un moyen simple: utilisez le
--cacert
avec un nom de fichier incorrect , la sortie affichera le chemin.Exemple:
la source
Linux (Ubuntu, Debian)
Copiez votre autorité de certification dans dir / usr / local / share / ca-certificats /
Mettre à jour le magasin CA
Supprimez votre CA et mettez à jour le magasin de CA:
Linux (CentOs 6)
Installez le paquet ca-certificats:
Activez la fonctionnalité de configuration dynamique de l'AC: update-ca-trust force-enable Ajoutez-le en tant que nouveau fichier à
/etc/pki/ca-trust/source/anchors/
:Linux (CentOs 5)
Ajoutez votre certificat de confiance au fichier
/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 très joli lien, qui explique, comment l'ajouter à plusieurs systèmes d'exploitation populaires.
la source
vous pouvez télécharger le pack de certificats racine CA à partir de haxx.se qui sont les créateurs de curl. puis ajoutez simplement votre certificat dans leur .pem et faites-y référence lorsque vous utilisez curl avec l'option --cacert
la source
-v
avec https dans l'URL.la source
-k
option pour voir s'il y a une différence. Il n'y avait aucune différence.L'emplacement par défaut du bundle CA dépend du système d'exploitation. Sur RHEL5, il se trouve dans /etc/pki/tls/certs/ca-bundle.pem. Sur d'autres versions de systèmes d'exploitation Linux ou non Linux, il peut se trouver dans un emplacement différent.
la source