Qu'est-ce que le certificat SSL?
SSL (Secure Sockets Layer) est un protocole de sécurité standard permettant d'établir une connexion sécurisée entre le serveur et le client qui est un navigateur.
Le certificat SSL (Secure Socket Layer) garantit une transformation sécurisée des données sur le serveur et l'application client à l'aide d'une norme de cryptage forte ou d'une signature numérique. Il faut installer un certificat SSL ou un certificat de signature de code.
Dans ce didacticiel, vous apprendrez-
- Qu'est-ce que le certificat SSL?
- Avantages du certificat SSL
- Comment le certificat SSL crée-t-il une connexion sécurisée
- Types de certificats SSL
- Comment les certificats SSL sont vérifiés
- Types d'erreur de certificat SSL
- Comment gérer l'erreur de certificat SSL à l'aide de Selenium Webdriver
- Gestion des erreurs de certificat SSL dans Firefox
- Gestion des erreurs de certificat SSL dans Chrome
- Gestion des erreurs de certificat SSL dans IE
Avantages du certificat SSL
Il y a de nombreux avantages à utiliser un certificat SSL comme,
- On peut augmenter la confiance de ses utilisateurs et de ses clients afin d'améliorer rapidement la croissance de l'entreprise
- Ces certificats aident à sécuriser les transactions en ligne et les informations sensibles des clients telles que les données de carte de crédit / débit, etc.
- Le certificat de signature a tendance à obtenir un nombre maximum de téléchargements et de bonnes critiques de la part des utilisateurs.
Les sites Web sécurisés SSL commencent par https: // et vous pouvez voir une icône de verrouillage ou une barre d'adresse verte si la connexion est établie de manière sécurisée.
Par exemple, si vous souhaitez effectuer une transaction via la banque en ligne ou si vous souhaitez acheter un téléphone mobile via un site de commerce électronique tel que Flipkart ou Amazon.
Que se passe-t-il entre le navigateur Web et le serveur
- Un navigateur tente de se connecter à un site Web sécurisé avec SSL. Le navigateur demande au serveur Web de s'identifier
- Le serveur envoie au navigateur une copie de son certificat SSL
- Le navigateur vérifie si le certificat SSL est authentique. Si tel est le cas, il envoie un message au serveur
- Le serveur renvoie un accusé de réception signé numériquement pour démarrer une session cryptée SSL
- Les données cryptées sont partagées entre le serveur et le navigateur
Ce faisant, vous devez transmettre des informations sensibles telles que des numéros de carte de crédit ou des identifiants de connexion et qui doivent être transmises en toute sécurité afin qu'elles ne puissent pas être piratées ou interceptées.
Par exemple
- Tapez https://netbanking.hdfcbank.com/netbanking/ .
- Appuyez sur Entrée.
- Vous verrez une barre d'adresse verte dans le navigateur comme ci-dessous: -
Comment le certificat SSL crée-t-il une connexion sécurisée
- Le navigateur envoie une requête HTTPS au serveur.
- Maintenant, le serveur doit fournir une identification au navigateur pour prouver qu'il est digne de confiance. Cela peut être fait en envoyant une copie de son certificat SSL au navigateur.
- Chaque navigateur possède sa propre liste d'autorités de certification de confiance. Le navigateur vérifie la racine du certificat par rapport à sa liste d'autorités de certification approuvées et que le certificat n'a pas expiré, n'est pas révoqué et que le nom commun est valide pour le site Web auquel il se connecte.
- Si le navigateur fait confiance au certificat, une session chiffrée est créée entre le serveur et le navigateur.
- Le serveur et le navigateur peuvent envoyer des messages cryptés
Types de certificats SSL
Le navigateur et le serveur utilisent le mécanisme de certificat SSL pour pouvoir établir une connexion sécurisée. Cette connexion implique la vérification de trois types de certificats.
- Racine
- Intermédiaire
- Certificat de serveur
Processus d'obtention du certificat SSL
Le processus d'obtention du certificat SSL comprend les étapes ci-dessous: -
- Tout d'abord, vous devez créer une demande CSR (créer une demande de signature de certificat).
- La demande CSR crée un fichier de données CSR, qui est envoyé à l'émetteur de certificat SSL connu sous le nom de CA (autorité de certification).
- L'autorité de certification utilise les fichiers de données CSR pour créer un certificat SSL pour votre serveur.
- Après avoir reçu le certificat SSL, vous devez l'installer sur votre serveur.
- Un certificat intermédiaire est également nécessaire pour être installé qui lie le vôtre certificat SSL avec le certificat racine de l'autorité de certification.
L'image ci-dessous représente les trois certificats: certificat racine, intermédiaire et serveur.
Comment les certificats SSL sont vérifiés
SSL fonctionne grâce à une combinaison de programmes et de routine de cryptage / décryptage qui existent sur l'ordinateur du serveur Web et le navigateur du serveur Web.
Le certificat SSL contient essentiellement les informations ci-dessous.
- Sujet qui est l'identité du propriétaire du site.
- Informations de validité - une clé publique et une clé privée.
La clé privée et la clé publique sont deux clés cryptographiques (nombres) liées de manière unique. Tout ce qui est chiffré par une clé publique ne peut être déchiffré que par une clé privée.
Lorsqu'une connexion sécurisée n'est pas établie entre le serveur et le client en raison du certificat, l'erreur de certificat SSL suivante se manifeste.
Types d'erreur de certificat SSL
Supposons que vous saisissiez une requête https dans le navigateur et que vous obteniez un message tel que "Cette connexion n'est pas approuvée" ou "Le certificat de sécurité du site n'est pas approuvé" en fonction du navigateur que vous utilisez. Ensuite, une telle erreur est sujette à une erreur de certificat SSL.
Désormais, si le navigateur ne parvient pas à établir une connexion sécurisée avec le certificat demandé, le navigateur lèvera l'exception "Connexion non approuvée" comme ci-dessous et demandera à l'utilisateur de prendre les mesures appropriées.
Les types d'erreur que vous êtes susceptible de voir en raison du certificat dans différents navigateurs peuvent être un peu comme ça
- FireFox - Cette connexion n'est pas approuvée
- Google Chrome - La sécurité de ce site n'est pas digne de confiance
- Internet Explorer (IE) - Ce certificat de sécurité présenté par ce site Web n'a pas été approuvé par une autorité de certification de confiance (CA)
Comment gérer l'erreur de certificat SSL à l'aide de Selenium Webdriver
Supposons que nous ayons écrit des scripts de test et que lors de l'exécution du script, nous nous sommes retrouvés dans la situation en tant que "Connexion non approuvée" ci-dessus, comment gérer l'exception uniquement par l'automatisation.
Dans ce cas, nous devons ajuster notre script de manière à ce qu'il s'occupe de l'exception SSL par lui-même.
Les scripts doivent être modifiés en fonction du type d'instance de navigateur que nous utilisons. Ceux-ci lorsque les capacités souhaitées entrent en scène.
Les capacités souhaitées sont utilisées pour configurer l'instance de pilote de Selenium Webdriver. Grâce aux capacités souhaitées, on peut configurer toutes les instances de pilote comme ChromeDriver, FirefoxDriver et Internet Explorer.
Pour le moment, nous n'avons aucune URL spécifique pour créer le scénario ci-dessus, mais je propose des étapes que nous pouvons ajouter dans le script Selenium pour gérer la situation ci-dessus «Connexion non approuvée».
Gestion des erreurs de certificat SSL dans Firefox
Pour gérer l'erreur de certificat SSL dans Firefox, nous devons utiliser les fonctionnalités souhaitées de Selenium Webdriver et suivre les étapes suivantes.
Étape 1) : Nous devons d'abord créer un nouveau profil Firefox, dites " myProfile ". Vous pouvez vous référer à Google pour apprendre "Comment créer" un profil Firefox. C'est simple et facile.
Étape 2) : Accédez maintenant à myProfile dans le script comme ci-dessous et créez l'objet FirefoxProfile.
ProfilesIni prof = nouveau ProfilesIni ()FirefoxProfile ffProfile = prof.getProfile ("monProfile")
Étape 3) : Nous devons maintenant définir les propriétés " setAcceptUntrustedCertificates " et " setAssumeUntrustedCertificateIssuer " dans le profil Fire Fox.
ffProfile.setAcceptUntrustedCertificates (vrai)ffProfile.setAssumeUntrustedCertificateIssuer (faux)
Étape 4) : utilisez maintenant le profil FireFox dans l'objet pilote FireFox.
Pilote WebDriver = nouveau FirefoxDriver (ffProfile)
Remarque : «setAcceptUntrustedCertificates» et «setAssumeUntrustedCertificateIssuer » sont des capacités permettant de gérer les erreurs de certificat dans les navigateurs Web.
Gestion des erreurs de certificat SSL dans Chrome
Pour gérer l'erreur SSL dans Chrome, nous devons utiliser les fonctionnalités souhaitées de Selenium Webdriver. Le code ci-dessous aidera à accepter tous les certificats SSL dans Chrome, et l'utilisateur ne recevra aucune erreur liée au certificat SSL en utilisant ce code.
Nous devons créer une instance de la classe DesiredCapabilities comme ci-dessous: -
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome ()handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true)Pilote WebDriver = nouveau ChromeDriver (handlSSLErr);
Gestion des erreurs de certificat SSL dans IE
Contrairement à la gestion des certificats SSL dans le navigateur Chrome et Firefox, dans IE, vous devrez peut-être le gérer à l'aide de javascript.
Pour gérer le certificat SSL dans IE, vous pouvez gérer cette situation de deux manières,
- Dans ce cas, vous cliquerez sur le lien " Continuer vers ce site Web (non recommandé)". Dans ce qui suit, nous verrons comment gérer l'erreur SSL dans IE.
Observez l'erreur de certificat SSL dans le navigateur IE, vous trouverez le lien "Continuer vers ce site Web (non recommandé)". Ce lien a l'ID "lien de remplacement".
Cliquez sur le lien en utilisant la méthode driver.navigate () avec JavaScript comme ci-dessous: -
driver.navigate () .to ("javascript: document.getElementById ('overridelink'). click ()");
- La deuxième méthode est assez similaire au code de gestion SSL Chrome
Capacités DesiredCapabilities = new DesiredCapabilities ();capacités.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);System.setProperty ("webdriver.ie.driver", "IEDriverServer.exe");Pilote WebDriver = nouveau pilote InternetExplorer (fonctionnalités);
Le code ci-dessus aidera à gérer l'erreur de certificat SSL dans IE.
Résumé:
- SSL (Secure Sockets Layer) est un protocole de sécurité standard pour établir une connexion sécurisée entre le serveur et le client
- Le navigateur et le serveur utilisent le mécanisme de certificat SSL pour pouvoir établir une connexion sécurisée.
- SSL fonctionne grâce à une combinaison de programmes et de routine de cryptage / décryptage qui existent sur l'ordinateur du serveur Web et le navigateur du serveur Web.
- Lorsqu'une connexion sécurisée n'est pas établie entre le serveur et le client en raison d'un certificat, une erreur de certificat SSL se produit
- Besoin d'ajuster notre script de manière à ce qu'il s'occupe de l'exception / erreur SSL par lui-même via le pilote Web Selenium.