KPATCHA Lelenda Arnaud
TP7 - Sécurité
1 Socket Sécurisé
1.1 Certificat X509
Je précisez le rôle de chacun de ces fichiers
[Link] : Certificat de l'autorité de certification (CA). Il est utilisé pour vérifier les certificats des
serveurs ou clients qu'elle a signés
[Link] : Clé privée de la CA. Elle permet de signer les certificats émis par l'autorité.
[Link] : Certificat du serveur. Il contient la clé publique et est utilisé pour prouver l'identité du
serveur
[Link] : Clé privée du serveur. Elle est utilisée pour déchiffrer les données et signer les échanges
chiffrés.
Les informations dans le certificat du serveur et je précisez leur signification :
. La version du certificat est 3
. Le numéro du série de certificat est 1eb74c7337400d26d85ec1bc592a468308bb9700
. Le nom du propriétaire du certificat est CA
. Le nom de l’autorité de certification est CA
. La date d’expiration du certificat est Sun Aug 31 [Link] UTC 2025
. Le key id est 7f01fab60f74003147ea9b23ff4d341f0e1b7d4b
. La signature
[Link]
[Link]
[Link]
[Link]
[Link]
. L’empreinte (ou fingerprint),
sha1:4bf706d9d65c8a57a449d20c261e00ef6af8a57d
sha256:3d492034098eb162696663ac76a48b006c6437537c718a9332d6e87e2
. La valeur de la clé publique
sha1:7f01fab60f74003147ea9b23ff4d341f0e1b7d4b
sha256:241ada38c4208abd7d5af4fe68bca44c8aabcca0f2382087b16d70ca0b39eae5
. Public Key PIN:
pin-sha256:JBraOMQgir19WvT+aLykTIqrzKDyOCCHsW1wygs56uU=
On peut aussi récupérer le fingerprint et la clé publique directement avec ces commandes
1.2 Mise en œuvre du certificat
Je lance le serveur avec le certificat
Je me connecte au serveur avec le client en utilisant [Link]
Le navigateur web affiche un avertissement de sécurité car le certificat de notre site n’est pas
présent dans le navigateur
J’affiche le certificat du navigateur , on constate que c’est bien celui du serveur en comparant
l’empreinte SHA1
Accepter un certificat sans vérifier son empreinte expose à des attaques de type Man-in-the-
Middle. Cela compromet la confidentialité et l’intégrité des données échangées, et peut permettre
l’usurpation d’identité du serveur ou l’injection de contenus malveillants.
J’ajoute l’exception au navigateur et on obtient bien la page web du serveur
1.3 Progammation Socket SSL en Python
Je compléte le code du client et du serveur pour utiliser le protocole SSL/TLS avec les certificats
générés dans l’exercice précédent.
d
En exécutant j’obtiens le résultat suivant