Passer au contenu principal

Comprendre les certificats SSL/TLS

C'est quoi un certificat ?

Un certificat est un fichier qui sert à prouver l’identité d’une entité (comme un site web ou une personne) et à sécuriser les échanges de données avec cette entité. Un certificat contient :

  • Une clé publique
  • Des informations sur le propriétaire de la clé (nom, email, localisation, …)
  • Des informations sur le certificat lui-même (date de validité, l’algorithme de chiffrement utilisé, l’Autorité de Certification qui a émis le certificat, ...)
  • Une signature électronique d’une autorité de certification. Cette signature est une combinaison des informations du certificat et de la clé publique du propriétaire, le tout chiffré par la clé privée de l’autorité de certification.

Les fonctions principales d'un certificat SSL/TLS pour un site web

  • Authentifier l’identité du site web : Il assure au client que le domaine est bien celui qu’il prétend être et non un imposteur.
  • Établir une connexion sécurisée : Il permet au client et au serveur d’échanger des informations de manière sécurisée.

Types de Fichiers de Certificat : CERT_FILE, KEY_FILE et CA_FILE

CERT_FILE

C'est le certificat que l’autorité de certification a émis après avoir vérifié vos informations. Il contient votre clé publique et diverses informations qui identifient votre site web et votre organisation. Les clients l’utilisent pour authentifier l’identité de votre site.

KEY_FILE

C'est un fichier qui contient la clé privée associée à votre certificat. Cette clé, avec laquelle vous avez signé la demande de signature de certificat (CSR), est utilisée pour chiffrer les données. Ces données sont ensuite déchiffrées par le client à l’aide de la clé publique contenue dans le CERT_FILE.

CA_FILE

C'est un fichier qui contient la clé publique de la CA qui a signé votre certificat.

 

Options de Vérification des Certificats SSL : verify_peer et verify_peer_name

verify_peer

Lorsque l’option est activée (valeur par défaut : true), le client vérifie le certificat du serveur lors de l’établissement de la connexion SSL. Si le certificat n’est pas valide ou n’est pas approuvé par une autorité de certification, la connexion échoue. Cela contribue à prévenir les attaques de type man-in-the-middle.

 

verify_peer_name

Lorsque l’option est activée (valeur par défaut : true), le client vérifie si le nom du domaine correspond au nom indiqué dans le certificat SSL. Cela garantit que vous vous connectez bien au serveur que vous pensez contacter, et non à un serveur malveillant se faisant passer pour ce serveur.

 

Un certificat auto-signé est un certificat émis par l'utilisateur lui-même. Il est créé, mis en œuvre et signé par l'administrateur du site web. Ces certificats ne sont pas validés par une autorité de certification, ce qui peut poser des problèmes de confiance avec certains clients. Il est généralement recommandé d'utiliser un certificat signé par une CA. Cependant, si vous utilisez un certificat auto-signé, les valeurs de verify_peer et verify_peer_name doivent être définies sur false.