Sous Chrome, un clic sur l'icône de verrou HTTPS vert ouvre une fenêtre contenant les détails du certificat:
Quand j'ai essayé la même chose avec cURL, je n'ai eu que quelques informations:
$ curl -vvI https://gnupg.org
* Rebuilt URL to: https://gnupg.org/
* Hostname was NOT found in DNS cache
* Trying 217.69.76.60...
* Connected to gnupg.org (217.69.76.60) port 443 (#0)
* TLS 1.2 connection using TLS_DHE_RSA_WITH_AES_128_CBC_SHA
* Server certificate: gnupg.org
* Server certificate: Gandi Standard SSL CA
* Server certificate: UTN-USERFirst-Hardware
> HEAD / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: gnupg.org
> Accept: */*
Une idée de comment obtenir les informations complètes du certificat à partir d’un outil de ligne de commande (cURL ou autre)?
ssl
ssl-certificate
curl
Adam Matan
la source
la source
curl
indicateur actuel avec--verbose
indique le contenu complet du certificat de serveur.Réponses:
Vous devriez pouvoir utiliser OpenSSL pour vos besoins:
Cette commande se connecte au site Web souhaité et dirige le certificat au format PEM vers une autre commande openssl qui lit et analyse les détails.
(Notez que le
-servername
paramètre "redondant" est nécessaire pour effectueropenssl
une demande avec le support SNI.)la source
OpenSSL> openssl:Error: 'CONNECTED(00000003)' is an invalid command.
openssl
Vsopenssl x509 -inform pem -noout -text
). Ce que Pedro a écrit fonctionne bien pour moi.echo
en soi équivaut àecho ''
.. il envoie une chaîne vide à stdout.cat /dev/null |
fonctionnerait aussi et est un peu plus explicite.-text
par-enddate
, recherchez d'autres options (openssl x509 help
).Solution simple
C'est mon script de tous les jours:
Sortie:
la source
Cela dépend du type d’information que vous souhaitez, mais:
devrait vous en donner le plus, mais pas aussi lisiblement que le présente Chrome.
la source
Le
-p 443
spécifie pour analyser le port 443 uniquement. Tous les ports seront analysés s'il est omis et les détails du certificat pour tout service SSL trouvé seront affichés. Le--script ssl-cert
indique au moteur de script Nmap d'exécuter uniquement lessl-cert
script. A partir de la doc, ce script "récupère le certificat SSL d'un serveur. La quantité d'informations imprimées sur le certificat dépend du niveau de verbosité."Exemple de sortie:
la source
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:
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 ...)
la source
Pour être complet: si vous avez installé sur votre système Java 7 ou supérieur
montre la chaîne (telle que servie) avec presque tous les détails dans un format plutôt plutôt moche.
Que vous devriez avoir Java installé sur votre système , je ne réponds pas.
la source
J'utilise un script shell pour cela. C'est juste un wrapper autour de la commande openssl qui m'empêche de me souvenir de la syntaxe.
Il fournit des options pour analyser la plupart des informations de certificat qui m'intéressent généralement, ou pour afficher une sortie openssl brute.
Peut interroger un fichier de certificat local ou un serveur distant.
Usage:
Vous pouvez obtenir le script ici: http://giantdorks.org/alain/shell-script-to-check-ssl-certificate-info-like-expiration-date-and-subject/
la source
Si vous voulez faire cela dans Windows, vous pouvez utiliser PowerShell avec la fonction suivante:
Cela vous permet de faire des choses intéressantes comme
la source
la source
Si vous souhaitez uniquement connaître la date d'expiration (ce qui n'est pas exactement la réponse mais correspond au 9/10 pour lequel les utilisateurs utilisent les détails du certificat Chrome), vous pouvez utiliser:
echo | openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate
Utile pour les scripts, etc.
la source