Exemple Python SSL

Exemple Python SSL

SSL ou Secure Socket Layer est un protocole de réseautage très important qui permet une communication sécurisée entre un client et un serveur. Nous pouvons trouver son utilisation dans presque tous les langages de programmation, cependant, si nous parlons de cet article particulier, alors notre objectif aujourd'hui est de vous enseigner l'utilisation de SSL dans Python dans Windows 10 en partageant des exemples utiles avec vous à cet égard.

Qu'est-ce que SSL?

Comme nous l'avons déjà dit que SSL signifie une couche de prise sécurisée, nous allons donc maintenant essayer de progresser plus loin et voir ce que c'est et comment cela fonctionne. Ce protocole de réseautage est utilisé pour assurer un canal de communication sécurisé, de sauvegarder les informations transférées d'une extrémité à une autre lors d'une session de communication. SSL garantit que toutes les informations échangées lors d'une communication doivent rester intactes en la cryptant. Cela préserve non seulement l'intégrité et l'authenticité de ces informations, mais garantit également qu'un intrus n'est pas en mesure de lire ces informations.

Maintenant, vous réfléchissez peut-être à la façon dont SSL parvient à faire tout cela, ou en d'autres termes, comment pouvez-vous savoir si un serveur Web auquel vous souhaitez vous connecter est en utilisant ce protocole ou non. Eh bien, SSL le fait avec l'aide de certificats qu'il émet à tous ces sites Web qui souhaitent les sécuriser avec ce protocole. Tous ces sites Web sécurisés par ce protocole ont des attributs spécifiques qui leur sont associés. Par exemple, vous remarquerez un «HTTPS» dans leur URL au lieu d'un simple «HTTP». De plus, vous pourrez également assister à une icône «verrouiller» avec leurs URL si elles sont sécurisées avec SSL.

À présent, vous auriez construit une compréhension de base de SSL. Maintenant, voyons comment nous pouvons utiliser ce protocole dans Python dans Windows 10.

Utilisation de SSL dans Python dans Windows 10

Nous avons décidé de vous expliquer l'utilisation de SSL dans Python dans Windows 10 à l'aide de deux exemples différents. Ces deux exemples sont délibérés en détail ci-dessous:

Note: Les deux exemples qui suivent sont implémentés dans Python en utilisant l'ide Spyder dans Windows 10.

Exemple n ° 1: Vérification du certificat SSL d'un site Web dans Python dans Windows 10

Dans cet exemple, nous voulions vérifier si le site Web donné a un certificat SSL valide ou non. Cependant, avant de procéder à cet exemple, nous aimerions partager avec vous ce que nous entendons par un certificat SSL «valide». Chaque certificat SSL a une date d'émission et une date d'expiration liée à celui-ci. Cela signifie qu'aucun certificat SSL ne reste valide pendant toute une vie, mais sa validité dépend de cette date d'expiration.

Parfois, un site Web a un certificat SSL. Cependant, sa date d'expiration aurait pu passer, ce qui aurait rendu ce certificat SSL invalide. Par conséquent, chaque fois que nous parlons de la vérification d'un certificat SSL, alors nous signifions non seulement vérifier si un site Web est certifié SSL ou non, mais aussi si ce certificat est valide ou non. Pour vérifier le certificat SSL d'un site Web utilisant Python, vous pouvez écrire un code similaire comme celui illustré dans l'image suivante:

Dans ce programme, nous avons d'abord importé le module Python «Demandes» que nous allons utiliser dans notre code pour vérifier le certificat SSL du site Web fourni. Après avoir importé ce module, nous avons déclaré une variable "réponse»Et lui attribué la valeur récupérée du«demandes.obtenir()" fonction. Cette fonction a besoin d'un seul argument et c'est l'URL du site Web souhaité dont vous souhaitez vérifier le certificat. Cette fonction vérifiera simplement si ce site Web a un certificat SSL valide ou non.

Après cela, nous voulions simplement imprimer la valeur du «réponse"Variable qui sera"200»En cas de certificat SSL valide. "200"Fondamentalement, correspond à un"D'ACCORD»Message qui implique que le site Web spécifié a un certificat SSL valide. L'URL que nous avons fournie dans cet exemple est celle de Google. Pour savoir si Google a un certificat SSL valide ou non, vous devrez exécuter ce code après l'avoir enregistré.

Lorsque nous avons exécuté ce code, nous avons réussi à découvrir que Google a un certificat SSL valide depuis que nous avons reçu la réponse «200» dans notre sortie comme indiqué dans l'image ci-dessous:

Maintenant, nous allons tester le même code avec un site Web aléatoire pour lequel nous savions déjà qu'il a un certificat SSL non valide. Le code illustré dans l'image suivante illustre ceci:

Étant donné que ce site Web particulier n'avait pas de certificat SSL valide, nous avons donc reçu des messages d'erreur dans la sortie comme indiqué dans l'image ci-dessous. Pour afficher tous les détails de la sortie, vous pouvez simplement faire défiler vers le haut ou vers le bas dans votre console Spyder IDE.

Exemple n ° 2: acquisition du certificat SSL d'un site Web dans Python dans Windows 10

Dans l'exemple ci-dessus, nous avons vérifié que si un site Web a un certificat SSL valide ou non. Cependant, parfois, nous pourrions également vouloir voir le certificat SSL d'un site Web. Pour cela, nous devrons acquérir ce certificat SSL d'une manière ou d'une autre. Cela peut être fait à l'aide du code Python suivant:

Dans ce programme, nous avons d'abord importé les deux modules Python requis I.e. "SSL" et "Urllib". Après avoir importé ces deux modules, nous avons créé une variable "URL«Auquel nous avons attribué l'URL du site Web cible dont nous voulions acquérir le certificat SSL. Dans notre cas, l'URL est de Google. Ensuite, nous avons créé une variable nommée «addr«À quoi nous avons attribué l'URL analysée que nous venons de affecter au«URL»Variable. Après cela, nous avons déclaré «port«Variable à laquelle nous avons attribué la valeur« 443 ». Ici, nous aimerions vous dire que «443» est le port standard qui est utilisé pour toutes sortes de transactions sécurisées. Par conséquent, peu importe le certificat SSL du site Web que vous souhaitez acquérir, vous devrez toujours fournir le même numéro de port.

Ensuite, nous avons un «certificat«Variable à laquelle nous attribuons les résultats du«SSL.get_server_certificate ()" fonction. Cette fonction accepte l'URL analysée, le numéro de port et la version SSL en entrée et renvoie le certificat SSL complet du site Web cible en tant que sortie. Enfin, nous voulions imprimer la valeur de la variable «Cert» sur la console Spyder IDE. Pour récupérer le certificat SSL du site Web spécifié, nous avons d'abord enregistré ce script Python, puis l'avons exécuté.

Le certificat SSL du site Web cible est affiché dans l'image ci-dessous laquelle dans notre cas était Google. Cependant, vous pouvez également le changer avec tout autre site Web de votre choix.

Conclusion

Cette discussion a commencé par une introduction rapide à SSL et comment ce protocole fonctionne. Ensuite, nous vous avons présenté les certificats SSL qui sont délivrés pour vérifier la sécurité d'un site Web. Après cela, nous avons partagé avec vous deux exemples très simples mais très informatifs qui utilisent ce protocole dans Python dans Windows 10. Dans l'ensemble, une fois que vous parcourez cet article, vous développerez une très bonne compréhension du fonctionnement de SSL dans Python dans Windows 10.