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 d'avoir curl/wget/openssl établir une connexion SSL et enregistrer le certificat plutôt que le contenu de la réponse HTTP.
L'équivalent graphique de 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
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 "redondant" -servername
le paramètre est nécessaire pour que openssl
fasse une requête avec le support SNI.)
De http://www.madboa.com/geek/openssl/#cert-retrieve
#!/bin/sh
#
# usage: retrieve-cert.sh remote.Host.name [port]
#
REMHOST=$1
REMPORT=${2:-443}
echo |\
openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |\
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'