Maîtrisez la récupération et la lecture des certificats x.509 avec OpenSSL

Présentation
Dans cet article, nous allons apprendre à récupérer et lire le contenu d’un certificat x.509 en utilisant la commande “openssl”.
Rappel sur le certificat x.509
Vous avez sûrement entendu parler des protocoles cryptographiques TLS (Transport Layer Security) et SSL (Secure Socket Layer) qui permettent de chiffrer les communications entre un client et un serveur pour assurer leur confidentialité. Ces protocoles fonctionnent grâce au système de clés privées et publiques. Lorsqu’un client souhaite communiquer avec un serveur, il doit au préalable récupérer certaines informations auprès de celui-ci pour établir cette communication sécurisée.
Ces informations sont “packagées” dans un fichier : c’est le certificat. Le format x.509 est l’un des standards qui permettent de structurer et construire les certificats par clé publique, et c’est globalement le format le plus utilisé.
Récupérer le certificat SSL d’un service web
Via le navigateur
Nous allons à présent voir comment récupérer le certificat d’un serveur à partir d’un navigateur, vous verrez que vous aviez cette information sous le nez depuis longtemps, il suffit simplement d’y accéder.
Avec la commande openssl
La procédure “manuelle” que nous venons de voir fonctionne très bien, mais peut être automatisée facilement à l’aide de la commande “openssl” sous Linux. Cela peut notamment être pratique pour une analyse automatisée des données contenues dans un certificat. Voici comment récupérer facilement le certificat d’un serveur distant dans un fichier .PEM :
Lire les données d’un certificat x.509 avec openssl
Affiche tout le contenu d’un fichier PEM
Commençons par afficher la totalité des informations contenues dans notre certificat PEM, nous verrons ensuite comment faire le tri et afficher des informations spécifiques. Il faut ici spécifier à la commande “openssl” le fichier à traiter (option “-in”) ainsi que l’option “-text” :
Nous allons à présent voir comment extraire des informations précises d’un certificat en utilisant différentes options de la commande “openssl”.
Au sein d’un certificat SSL, le “subject” est une entité désignée par le certificat. Il contient les informations d’identité du propriétaire du certificat, telles que le nom de domaine (Common Name – CN), le nom de l’organisation, l’unité organisationnelle, la ville, l’état ou la province et le pays.
openssl : quelques astuces pour aller plus loin
Nous avons vu les principales options pour traiter un certificat x.509 via OpenSSL, mais il en existe bien d’autres. Voici une liste complète des options disponibles :
Conclusion
Nous avons vu dans cet article comment récupérer un certificat x.509 au format PEM à l’aide de notre navigateur ou de la commande “openssl”. Maîtriser la commande OpenSSL pour gérer les certificats x.509 lorsque l’on est administrateur système, développeur ou que l’on travaille dans la cybersécurité est très utile. Que ce soit pour vérifier la validité des certificats, extraire des informations spécifiques, ou automatiser des tâches de surveillance, cette commande possède plusieurs options qui permettent d’être rapide et efficace.
Source : www.it-connect.fr