Hur man hanterar SSL-certifikat i Selen WebDriver

Innehållsförteckning:

Anonim

Vad är SSL-certifikat?

SSL (Secure Sockets Layer) är ett standard säkerhetsprotokoll för att skapa en säker anslutning mellan servern och klienten som är en webbläsare.

SSL-certifikat (Secure Socket Layer) säkerställer säker transformation av data över servern och klientapplikationen med stark krypteringsstandard eller digital signatur. Man måste installera ett SSL-certifikat eller ett kodsigneringscertifikat.

I den här handledningen lär du dig-

  • Vad är SSL-certifikat?
  • Fördelar med SSL-certifikat
  • Hur skapar SSL-certifikatet en säker anslutning
  • Typer av SSL-certifikat
  • Hur SSL-certifikat verifieras
  • Typer av SSL-certifikatfel
  • Hur man hanterar SSL-certifikatfel med Selenium Webdriver
  • SSL-certifikat felhantering i Firefox
  • SSL-certifikat felhantering i Chrome
  • SSL-certifikat felhantering i IE

Fördelar med SSL-certifikat

Det finns många fördelar med att använda SSL-certifikat som

  • Man kan öka användarnas och kundernas förtroende för att snabbt öka företagets tillväxt
  • Dessa certifikat hjälper till att säkra onlinetransaktioner och kundkänslig information som kreditkorts- / betalkortsdata etc.
  • Signeringscertifikat tenderar att få ett maximalt antal nedladdningar och bra recensioner från användare.

SSL-säkrade webbplatser börjar med https: // och du kan se en låsikon eller ett grönt adressfält om anslutningen är säkert upprättad.

Till exempel om du vill göra några transaktioner via nätbank eller vill köpa en mobiltelefon via e-handelswebbplats som Flipkart eller Amazon.

Vad händer mellan webbläsaren och servern

  1. En webbläsare försöker ansluta till en webbplats som är skyddad med SSL. Webbläsaren ber webbservern att identifiera sig
  2. Servern skickar webbläsaren en kopia av sitt SSL-certifikat
  3. Webbläsaren verifierar om SSL-certifikatet är äkta. I så fall skickar det ett meddelande till servern
  4. Servern skickar tillbaka en digitalt signerad bekräftelse för att starta en SSL-krypterad session
  5. De krypterade uppgifterna delas mellan servern och webbläsaren

På så sätt måste du överföra känslig information som kreditkortsnummer eller inloggningsuppgifter och som måste överföras säkert så att den inte kan hackas eller fångas upp.

Till exempel

  1. Skriv https://netbanking.hdfcbank.com/netbanking/ .
  2. Tryck på Enter.
  3. Du ser ett grönt adressfält i webbläsaren enligt nedan: -

Hur skapar SSL-certifikatet en säker anslutning

  1. Webbläsaren skickar HTTPS-begäran till servern.
  2. Nu måste servern tillhandahålla viss identifiering till webbläsaren för att bevisa att den är betrodd. Detta kan göras genom att skicka en kopia av sitt SSL-certifikat till webbläsaren.
  3. Varje webbläsare har sin egen lista över betrodda CA: er. Webbläsaren kontrollerar certifikatroten i listan över betrodda certifikatutfärdare och att certifikatet inte har löpt ut, inte återkallats och att det vanliga namnet är giltigt för den webbplats som den ansluter till.
  4. Om webbläsaren litar på certifikatet skapas en krypterad session mellan servern och webbläsaren.
  5. Server och webbläsare kan skicka krypterade meddelanden

Typer av SSL-certifikat

Webbläsare och servern använder SSL-certifikatmekanism för att kunna upprätta en säker anslutning. Denna anslutning innebär verifiering av tre typer av certifikat.

  • Rot
  • Mellanliggande
  • Servercertifikat

Process för att få SSL-certifikat

Processen för att få SSL-certifikat innehåller nedanstående steg: -

  1. Först måste du skapa CSR (skapa en begäran om certifikatsignering).
  2. CSR-förfrågan skapar CSR-datafil som skickas till SSL-certifikatutfärdaren som kallas CA (Certificate Authority).
  3. CA använder CSR-datafiler för att skapa SSL-certifikat för din server.
  4. Efter att ha mottagit SSL-certifikatet måste du installera det på din server.
  5. Ett mellanliggande certifikat behövs också för att installera som binder ditt SSL-certifikat med CA: s rotcertifikat.

Bilden nedan representerar alla de tre certifikaten - Root, Intermediate och Server Certificate.

Hur SSL-certifikat verifieras

SSL fungerar genom en kombination av program och krypterings / dekrypteringsrutin som finns på webbserverns dator och webbserverns webbläsare.

SSL-certifikat innehåller i princip nedan information.

  1. Ämne som är webbplatsens ägare.
  2. Giltighetsinformation - en offentlig och en privat nyckel.

Den privata och offentliga nyckeln är två unikt relaterade kryptografiska nycklar (nummer). Vad som än krypteras av en offentlig nyckel får bara dekrypteras av en privat nyckel.

När en säker anslutning inte upprättas mellan servern och klienten på grund av certifikatet kommer följande SSL-certifikatfel att manifesteras.

Typer av SSL-certifikatfel

Antag att du skriver någon https-begäran i webbläsaren och får ett meddelande som "Den här anslutningen är otillförlitlig" eller "Webbplatsens säkerhetscertifikat är inte tillförlitlig" beroende på vilken webbläsare du använder. Då är ett sådant fel föremål för SSL-certifikatfel.

Nu, om webbläsaren inte kan upprätta en säker anslutning med det begärda certifikatet, kommer webbläsaren att kasta undantaget "Otillförlitlig anslutning" enligt nedan och be användaren att vidta lämpliga åtgärder.

De typer av fel som du troligen ser på grund av certifikat i olika webbläsare kan vara ungefär så här

  1. FireFox - Den här anslutningen är otillförlitlig
  1. Google Chrome - Den här webbplatsens säkerhet är inte tillförlitlig
  1. Internet Explorer (IE) - Detta säkerhetscertifikat som presenteras av den här webbplatsen betroddes inte av en betrodd certifikatutfärdare (CA)

Hur man hanterar SSL-certifikatfel med Selenium Webdriver

Anta att vi har skrivit några testskript och när vi kör skriptet, fastnade vi i situationen som "Untrusted Connection" ovan, hur hanterar vi undantaget enbart genom automatisering.

I så fall måste vi justera vårt skript på ett sådant sätt att det tar hand om SSL-undantag i sig.

Skripten måste modifieras beroende på vilken typ av webbläsare vi använder. Dessa när önskade funktioner kommer i bilden.

Önskade funktioner används för att konfigurera drivrutinsinstansen för Selenium Webdriver. Genom önskade funktioner kan man konfigurera alla drivrutinsinstanser som ChromeDriver, FirefoxDriver och Internet Explorer.

Från och med nu har vi ingen specifik URL för att skapa ovanstående scenario, men jag tillhandahåller steg som vi kan lägga till i Selenium-skriptet för att hantera ovanstående situation "Otillförlitlig anslutning."

SSL-certifikat felhantering i Firefox

För att hantera SSL-certifikatfel i Firefox måste vi använda önskade funktioner i Selenium Webdriver och följa följande steg.

Steg 1) : Först måste vi skapa en ny Firefox-profil som säger " myProfile ". Du kan hänvisa till Google för att lära dig "Hur man skapar" Firefox-profil. Det är enkelt och enkelt.

Steg 2) : Gå nu till myProfile i skriptet enligt nedan och skapa FirefoxProfile-objektet.

ProfilesIni prof = new ProfilesIni ()FirefoxProfile ffProfile = prof.getProfile ("myProfile")

Steg 3) : Nu måste vi ställa in egenskaperna " setAcceptUntrustedCertificates " och " setAssumeUntrustedCertificateIssuer " i Fire Fox-profilen.

ffProfile.setAcceptUntrustedCertificates (true)ffProfile.setAssumeUntrustedCertificateIssuer (false)

Steg 4) : Använd nu FireFox-profilen i FireFox-drivrutinsobjektet.

WebDriver-drivrutin = ny FirefoxDriver (ffProfile) 

Obs : "setAcceptUntrustedCertificates" och "setAssumeUntrustedCertificateIssuer " är funktioner för att hantera certifikatfel i webbläsare.

SSL-certifikat felhantering i Chrome

För att hantera SSL-fel i Chrome måste vi använda önskade funktioner i Selenium Webdriver. Koden nedan hjälper till att acceptera alla SSL-certifikat i krom, och användaren får inte något SSL-certifikatrelaterat fel med den här koden.

Vi måste skapa instans av DesiredCapabilities-klassen enligt nedan: -

DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome ()handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true)WebDriver-drivrutin = ny ChromeDriver (handlSSLErr);

SSL-certifikat felhantering i IE

Till skillnad från att hantera SSL-certifikat i Chrome-webbläsaren och Firefox, i IE, kan du behöva hantera det med javascript.

För att hantera SSL-certifikat i IE kan du hantera denna situation på två sätt,

  1. I detta klickar du på länken " Fortsätt till den här webbplatsen (rekommenderas inte)". I det följande kommer vi att se hur man hanterar SSL-fel i IE.

Observera SSL-certifikatfel i IE-webbläsaren hittar du "Fortsätt till den här webbplatsen (rekommenderas inte)" -länken. Denna länk har ID "åsidosättande länk". Du kan visa ID i HTML-läge med F12.

Klicka på länken med hjälp av driver.navigate () -metoden med JavaScript enligt nedan: -

driver.navigate () .to ("javascript: document.getElementById ('overridelink'). klicka ()");
  1. Den andra metoden liknar ganska chrom SSL-hanteringskod
DesiredCapabilities-funktioner = nya DesiredCapabilities ();capabilities.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);System.setProperty ("webdriver.ie.driver", "IEDriverServer.exe");WebDriver-drivrutin = ny InternetExplorerDriver (funktioner);

Ovanstående kod hjälper till att hantera SSL-certifikatfel i IE.

Sammanfattning:

  • SSL (Secure Sockets Layer) är ett standard säkerhetsprotokoll för att skapa säker anslutning mellan servern och klienten
  • Webbläsare och servern använder SSL-certifikatmekanism för att kunna upprätta en säker anslutning.
  • SSL fungerar genom en kombination av program och krypterings / dekrypteringsrutin som finns på webbserverns dator och webbserverns webbläsare.
  • När säker anslutning inte upprättas mellan servern och klienten på grund av certifikat uppstår SSL-certifikatfel
  • Behöver justera vårt skript på ett sådant sätt att det tar hand om SSL-undantag / fel i sig själv genom Selenium-drivrutinen.