J'ai un certificat d'entité finale / serveur qui a un certificat intermédiaire et racine. Lorsque je suis cat
sur le certificat d'entité finale, je ne vois qu'un seul BEGIN
et une END
balise. C'est le seul certificat d'entité finale.
Existe-t-il un moyen de visualiser le contenu du certificat intermédiaire et racine. Je n'ai besoin que du contenu BEGIN
et de la END
balise.
Sous Windows, je peux voir la chaîne de certificats complète à partir du "Chemin de certification". Voici l'exemple du certificat de Stack Exchange.
De là, je peux effectuer un certificat de vue et les exporter. Je peux le faire à la fois pour root et intermédiaire dans Windows. Je recherche cette même méthode sous Linux.
openssl
ssl
certificates
Anirban Nag 'tintinmj'
la source
la source
Réponses:
À partir d'un site Web, vous pouvez faire:
Cela montrera la chaîne de certificats et tous les certificats présentés par le serveur.
Maintenant, si j'enregistre ces deux certificats dans des fichiers, je peux utiliser
openssl verify
:L'
-untrusted
option est utilisée pour donner le ou les certificats intermédiaires;se.crt
est le certificat à vérifier. Le résultat depth = 2 provenait du magasin CA de confiance du système.Si vous ne disposez pas du ou des certificats intermédiaires, vous ne pouvez pas effectuer la vérification. Voilà comment fonctionne X.509.
Selon le certificat, il peut contenir un URI pour obtenir l'intermédiaire. À titre d'exemple,
openssl x509 -in se.crt -noout -text
contient:Cet URI «CA Issuers» pointe vers le certificat intermédiaire (au format DER, vous devez donc utiliser
openssl x509 -inform der -in DigiCertSHA2HighAssuranceServerCA.crt -out DigiCertSHA2HighAssuranceServerCA.pem
pour le convertir pour une utilisation ultérieure par OpenSSL).Si vous exécutez,
openssl x509 -in /tmp/DigiCertSHA2HighAssuranceServerCA.pem -noout -issuer_hash
vous obtenez244b5494
, que vous pouvez rechercher dans le magasin racine de l'autorité de certification système/etc/ssl/certs/244b5494.0
(ajoutez simplement.0
le nom).Je ne pense pas qu'il existe une commande OpenSSL simple et agréable pour faire tout cela pour vous.
la source
BEGIN
etEND
tag (que vous obtiendrez juste après avoircat
ing le fichier .crt.openssl x509 -in file.crt -noout -text
BEGIN
etEND
.openssl x509
commande, je ne pense pas que le certificat intermédiaire soit là. (Sauf si vous avez obtenu une erreuropenssl x509
).tl; dr - un liner bash magic pour vider tous les certificats de la chaîne
Explication en 2 étapes
Pour vider tous les certificats de la chaîne dans le répertoire actuel sous la forme
cert${chain_number}.pem
:bonus-track pour les renommer en leur nom commun:
la source