Lister tous les certificats ssl ca disponibles

35

Mes réclamations de clients git

error: Peer's Certificate issuer is not recognized.

Cela signifie qu'il ne peut pas trouver la clé de serveur ssl correspondante dans le trousseau de clés du système global. Je souhaite vérifier cela en consultant la liste de toutes les clés SSL disponibles à l’échelle du système sur un système Linux Gentoo. Comment puis-je obtenir cette liste?

Jonas Stein
la source

Réponses:

65

Ce ne sont pas des clés SSL que vous voulez, ce sont des autorités de certification et plus précisément leurs certificats.

Tu pourrais essayer:

awk -v cmd='openssl x509 -noout -subject' '
    /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt

Pour obtenir le "sujet" de chaque certificat de CA dans /etc/ssl/certs/ca-certificates.crt

Attention, parfois, vous obtenez cette erreur lorsque les serveurs SSL oublient de fournir les certificats intermédiaires.

Utilisez openssl s_client -showcerts -connect the-git-server:443pour obtenir la liste des certificats envoyés.

Stéphane Chazelas
la source
2
//, Cela ne fonctionne pas sur CEntOS 6, mais j'ai ajouté une réponse pour CEntOS 6 ici: unix.stackexchange.com/a/363309/48498
Nathan Basanese
1
La liste de trust listdu paquet p11-kit est essentiellement le même?
Pablo Un
15

Pas sûr de Gentoo, mais la plupart des distributeurs placent leurs certificats sous forme de lien logiciel dans un emplacement système /etc/ssl/certs.

  • Les fichiers de clés entrent dans /etc/ssl/private
  • Les fichiers réels fournis par le système sont situés à /usr/share/ca-certificates
  • Les certificats personnalisés entrent dans /usr/local/share/ca-certificates

Lorsque vous placez un certificat dans l’un des chemins mentionnés ci-dessus, exécutez-le update-ca-certificatespour mettre à jour les /etc/ssl/certslistes.

SHW
la source
1
/etc/ssl/certsest le bon dossier dans gentoo. Mais les fichiers ne sont pas bien à lire pour les yeux humains.
Jonas Stein
3
C'est update-ca-certificatesavec un supplémentaire s(je ne peux pas l'éditer moi-même, car c'est juste une édition à un caractère).
Slaven Rezic
@SlavenRezic - Quelqu'un l'a corrigé.
Craig S. Anderson
3

J'avais l'obligation de répertorier tous les certificats sur notre serveur et d'aviser s'ils devaient expirer. Nous avons eu cette commande:

locate .pem | grep "\.pem$" | xargs -I{} openssl x509 -issuer -enddate -noout -in {}
Dwight Emmons
la source