Skip to content

Partie 1 : Outils de base et lecture d’un certificat

Dans cette permière partie, nous allons utiliser les outils de base pour manipuler et interragir avec des certificats.

Lire un certificat dans le navigateur

Lire un certificat depuis un navigateur est souvent la manière la plus simple de faire du troubleshooting. Encore faut-il un navigateur ...

Objectif

Pour le site web docs.wcorp.fr, identifiez depuis votre navigateur :

  • Le nom (au sens objet) du certificat
  • Le nom de l'AC à qui a émis le certificat
  • La date d'émission
  • La date d'expiration
  • Le type d'algorythme
  • Le numéro de série
  • L'utilisation possible du certificat
  • Les autres noms possible du certificat (SAN)

Les Subject Alternative Name

Depuis quelques années, ce n'est le plus le CN (Common Name) du certificat qui est utilisé pour valider son utilisation, mais les SAN (Subject Alternative Name). C'est une extention de la norme x509 (apparu dans la v3 de la norme sortie en 2003) qui les a introduits.

Depuis, c'est les SAN qui sont prioritaires et qui doivent principalement être senseignés (voir ici), le CN correspond au nom du certificat en tant qu'objet, plutôt que le nom de domaine qu'il est sencé servir.


Indice 1

Accéder aux données du certificat

  • Il y a une icône 🔒 a gauche de la barre de recherche lorsqu'on navigue sur un site en HTTPS. D'ailleurs, sur les navigateurs modernes, il est aussi présent quand on navigue sur du HTTP, mais en rouge / barré ...
  • Dans la popup, il y a un second 🔒, qui se trouve être un bouton qui la switch de catégorie
  • En haut de la catégorie, un bouton "certificat" est disponible a côté de de la croix de fermeture
Indice 2

Aller chercher dans les extensions

  • Beaucoup d'éléments d'un certificats ne sont pas directement mentionés dans les données de base; elles sont été ajoutées lors d'une extention de la norme x509
  • Les extentions correspondent a une rubrique dédiée du certificat, avec son propre format
Solution
  • Le nom (au sens objet) du certificat : docs.wcorp.fr
  • Le nom de l'AC à qui a émis le certificat : R10 (Let's Encrypt)
  • La date d'émission : mardi 13 août 2024 à 16:05:03
  • La date d'expiration : lundi 11 novembre 2024 à 15:05:02
  • Le type d'algorythme : PKCS #1 SHA-256 avec le chiffrement RSA
  • Le numéro de série du certificat : 03:11:EA:9E:AF:87:7C:EF:3B:17:5E:DC:E2:54:6C:F9:55:24
  • L'utilisation possible du certificat :
    • Signature / Chiffrement de clés
    • Authentification du serveur TLS WWW (OID.1.3.6.1.5.5.7.3.1)
    • Authentification de client TLS WWW (OID.1.3.6.1.5.5.7.3.2)
  • Les autres noms possible du certificat (SAN) :
    • Nom DNS : docs.wcorp.fr

Lire un certificat via OpenSSL (à distance)

Sans navigateur web sous le coude, OpenSSL est votre meilleur ami ! Un outil a maitriser dans la toolbox des développeurs (system comme applicatif) !

Objectif

Cette fois-ci, pour le site web www.capgemini.com, identifiez avec openssl à distance :

  • Le nom (au sens objet) du certificat
  • Le nom de l'AC à qui a émis le certificat
  • La date d'émission
  • La date d'expiration
  • Le type d'algorythme
  • Le numéro de série
  • L'utilisation possible du certificat
  • Les autres noms possible du certificat (SAN)

Indice 1

Utiliser Openssl

Dans la page d'introduction du TP, il y a un cheatsheet qui pourrait servir ...

Indice 2

Combiner des commandes openssl

  • La commande openssl s_client peut être insuffisante pour récupérer l'ensemble des données d'un certificat
  • Il est possible de combiner des commandes pour avoir l'ensemble des informations
  • Télécharger un certificat ➡️ Lire le contenu d'un fichier avec les détails
  • Exemple : openssl s_client -connect stackoverflow.com:443 2>/dev/null </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | openssl x509 -text -noout
Solution
  • Le nom (au sens objet) du certificat : ww2.capgemini.com
  • Le nom de l'AC à qui a émis le certificat : Sectigo RSA Organization Validation Secure Server CA
  • La date d'émission : Nov 30 00:00:00 2023 GMT
  • La date d'expiration : Nov 29 23:59:59 2024 GMT
  • Le type d'algorythme : sha256WithRSAEncryption
  • Le numéro de série du certificat : 32:c7:5e:b5:e3:04:76:e4:a6:13:bf:ea:6c:d1:6a:97
  • L'utilisation possible du certificat :
    • Digital Signature
    • Key Encipherment
  • Les autres noms possible du certificat (SAN) :
    • DNS:ww2.capgemini.com
    • DNS:alternate.ucwe.capgemini.com
    • DNS:capgemini.com
    • DNS:dev.ucwe.capgemini.com
    • DNS:develop.investors.capgemini.com
    • DNS:develop.wcms.capgemini.com
    • DNS:iknow.capgemini.com
    • DNS:invent.capgemini.com
    • DNS:invent.capgemini.fr
    • DNS:investisseurs.capgemini.com
    • DNS:investors.capgemini.com
    • DNS:legacy-staging.wcms.capgemini.com
    • DNS:legacy.staging.wcms.capgemini.com
    • DNS:preprod.investors.capgemini.com
    • DNS:preprod.ucwe.capgemini.com
    • DNS:preprod.wcms.capgemini.com
    • DNS:prod.ucwe.capgemini.com
    • DNS:qa.ucwe.capgemini.com
    • DNS:staging.ucwe.capgemini.com
    • DNS:staging.wcms.capgemini.com
    • DNS:testing.capgemini.com
    • DNS:ww1.capgemini.com
    • DNS:www.capgemini.com
    • DNS:www1.capgemini.com
    • DNS:www2.capgemini.com
    • DNS:x-port.capgemini.com
    • DNS:your.capgemini.com