Enregistrer le certificat SSL distant via la ligne de commande Linux


28

Pouvez-vous penser à une méthode de ligne de commande Linux pour enregistrer le certificat présenté par un serveur HTTPS? Quelque chose dans le sens où curl / wget / openssl établit une connexion SSL et enregistre le certificat plutôt que le contenu de la réponse HTTP.

L'équivalent gui à ce que je recherche serait de naviguer sur le site HTTPS, de double-cliquer sur l'icône "site sécurisé" du navigateur et d'exporter le certificat. Sauf que le but ici est de le faire de manière non interactive.

Merci, Jim

Réponses:


40

Quelque chose comme:

openssl s_client -servername remote.server.net -connect remote.server.net:443 </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >/path/to/certificate.pem

C'est ce que j'utilise avec fetchmail pour récupérer le certificat d'un serveur IMAP ou POP3 compatible SSL (sauf évidemment je n'utilise pas le port 443)

(Notez que le -servernameparamètre "redondant" est nécessaire pour faire opensslune requête avec le support SNI.)


1
Une façon d'obtenir la chaîne complète?
Collin Anderson

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.