Il y a deux façons possibles d'utiliser le CLI pour vérifier la validité des certificats :
- Vous avez les fichiers du certificat à un endroit accessible sur votre disque dur.
- Vous les avez seulement installés, mais pas accessibles sur le disque dur.
La première nécessite un peu plus de travail en CLI, la deuxième peut être réalisée en ligne et montre la chaîne de certificats complète.
-
Vous avez les fichiers du certificat à un endroit accessible sur votre disque dur. Pour vérifier le fichier de certificat, nous devons savoir dans quel format il se trouve. Voici un exemple avec un fichier au format PEM :
openssl x509 -in FILENAME -text
Vous pouvez également choisir le format d'entrée avec
openssl x509 -inform PEM -in FILENAME -text
(PEM est la valeur par défaut) Cela vous donne une sortie texte assez longue pour chaque fichier de certificat et vous devez valider l'émetteur, le CN, la date d'expiration manuellement en les comparant au certificat CA ou racine. La deuxième méthode sera plus pratique :
- Vous les avez seulement installés, mais pas accessibles sur le disque dur.
Vous pouvez utiliser la commande openssl s_client pour valider la chaîne complète.
openssl s_client -connect YOURSERVER:SSLPORT
Vous verrez immédiatement le certificat ET la chaîne racine installée et openssl vous indique également les dates d'expiration, etc. Voici un exemple tiré de mon site web personnel :
openssl s_client -connect FQDN-DELETED:443
CONNECTED(00000005)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = FQDN-DELETED
verify return:1
---
Certificate chain
0 s:/CN=FQDN-DELETED
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
...
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGUzCCBTugAwIBAgISA+Y4i63Ury6g85b3DghU9muyMA0GCSqGSIb3DQEBCwUA
...
-----END CERTIFICATE-----
subject=/CN=FQDN-DELETED
issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
No client certificate CA names sent
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 3742 bytes and written 322 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES128-GCM-SHA256
...
Il y a beaucoup plus de résultats - il suffit de jeter un coup d'œil. Envoyez-moi vos questions, si vous en avez.