Pour vérifier les détails du certificat SSL, j'utilise l'outil de ligne de commande suivant depuis qu'il est disponible:
https://github.com/azet/tls_tools
Il est bon de vérifier que toutes les informations sont correctes pour la réémission de certificats ou la validation de certificats existants, ainsi que le nombre de dépendances ET qu'il ne nécessite aucune configuration.
Voici à quoi ressemblent les premières lignes de la sortie:
$ ./check_certificate_chain.py gnupg.org 443
>> Certificate Chain:
[+]* OU=Domain Control Validated, OU=Gandi Standard SSL, CN=gnupg.org
[+]** C=FR, O=GANDI SAS, CN=Gandi Standard SSL CA
[+]*** C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Hardware
>> Certificate Information:
................................................................................
- [Subject]: OU=Domain Control Validated, OU=Gandi Standard SSL, CN=gnupg.org
- [Issuer]: C=FR, O=GANDI SAS, CN=Gandi Standard SSL CA
- [Valid from]: Mar 18 00:00:00 2014 GMT
- [Valid until]: Mar 18 23:59:59 2016 GMT
- [Authority]: Is not a CA
- [Version]: 2
- [Serial No.]: 43845251655098616578492338727643475746
- [X.509 Extension Details]:
-- [x509_authorityKeyIdentifier]:
keyid:B6:A8:FF:A2:A8:2F:D0:A6:CD:4B:B1:68:F3:E7:50:10:31:A7:79:21
Cette sortie est suivie par toute la chaîne de certificats au même niveau de détail.
Ce que j’aime, au lieu d’être un outil cli centré sur le ssl, comme le client s_client d’openssl, c’est celui-ci qui tente de faire le travail dont nous avons le plus souvent besoin. Bien sûr, openssl est plus flexible (c'est-à-dire qu'il permet également de vérifier les concerts, d'insérer des ports impairs, etc.), mais je n'en ai pas toujours besoin.
Alternativement, si vous avez le temps de creuser et d'installer ou d'apprécier plus de fonctionnalités, il y a le plus gros outil appelé sslyze (ne l'utilisant pas depuis les dépendances et installer ...)