Sådan håndteres SSL-certifikat i Selenium
SSL-certifikat i Selenium
SSL (Secure Sockets Layer) er en standard sikkerhedsprotokol til at etablere en sikker forbindelse mellem serveren og klienten, som er en browser.
SSL (Secure Socket Layer) certifikat sikrer sikker transformation af data på tværs af serveren og klientapplikationen ved hjælp af stærk krypteringsstandard eller digital signatur. Man skal installere et SSL-certifikat eller et kodesigneringscertifikat.
Fordele ved SSL-certifikat
Der er en række fordele ved at bruge SSL-certifikat som,
- Man kan øge deres brugeres og kunders tillid for at øge virksomhedens vækst hurtigt
- Disse certifikater hjælper med at sikre onlinetransaktioner og kunders følsomme oplysninger som kreditkort-/debetkortdata osv.
- Signeringscertifikat har en tendens til at få et maksimalt antal downloads og gode anmeldelser fra brugere.
SSL-sikrede websteder begynder med https://og du kan se et låseikon eller en grøn adresselinje, hvis forbindelsen er sikkert etableret.
For eksempel, hvis du ønsker at foretage en transaktion via netbank eller ønsker at købe en Mobil telefon gennem e-handelsside såsom Flipkart eller Amazon.
Hvad sker der mellem webbrowseren og serveren
- En browser forsøger at oprette forbindelse til et websted, der er sikret med SSL. Browseren anmoder webserveren om at identificere sig selv
- Serveren sender browseren en kopi af dens SSL-certifikat
- Browseren verificerer, om SSL-certifikatet er ægte. Hvis det er tilfældet, sender den en besked til serveren
- Serveren sender en digitalt signeret bekræftelse tilbage for at starte en SSL-krypteret session
- De krypterede data deles mellem serveren og browseren
Når du gør det, skal du overføre følsomme oplysninger såsom kreditkortnumre eller loginoplysninger, og som skal overføres sikkert, så de ikke kan hackes eller opsnappes.
For eksempel
- Type https://netbanking.hdfcbank.com/netbanking/ .
- Hit Enter.
- Du vil se en grøn adresselinje i browseren som nedenfor:-
Hvordan opretter SSL-certifikatet en sikker forbindelse
- browser sender HTTPS-anmodning til serveren.
- Nu skal serveren give en vis identifikation til browseren for at bevise, at den er tillid til. Dette kan gøres ved at sende en kopi af dets SSL-certifikat til browseren.
- Hver browser har sin egen liste over betroede CA'er. Browser kontrollerer certifikatroden i forhold til dens liste over betroede CA'er, og at certifikatet er uudløbet, ikke tilbagekaldt, og at det fælles navn er gyldigt for det websted, det opretter forbindelse til.
- Hvis browseren har tillid til certifikatet, oprettes en krypteret session mellem serveren og browseren.
- Server og browser kan sende krypterede beskeder
Typer af SSL-certifikater
Browseren og serveren bruger SSL-certifikatmekanismen for at kunne etablere en sikker forbindelse. Denne forbindelse involverer verifikation af tre typer certifikater.
- Root
- Mellem
- Servercertifikat
Processen med at få et SSL-certifikat
Processen med at få SSL-certifikat inkluderer følgende trin: -
- Først skal du oprette en CSR-anmodning (opret en anmodning om certifikatsignering).
- CSR-anmodning opretter CSR-datafil, som sendes til SSL-certifikatudsteder kendt som CA (Certificate Authority).
- CA'en bruger CSR-datafilerne til at oprette SSL-certifikat til din server.
- Efter at have modtaget SSL-certifikatet, skal du installere det på din server.
- Der skal også installeres et mellemcertifikat, som forbinder dit SSL-certifikat med CA's rodcertifikat.
Billedet nedenfor repræsenterer alle de tre certifikater- Root-, Mellem- og Servercertifikat.
Hvordan SSL-certifikater verificeres
SSL fungerer gennem en kombination af programmer og kryptering/dekrypteringsrutine, der findes på webservercomputeren og webserverbrowseren.
SSL-certifikatet indeholder grundlæggende oplysninger nedenfor.
- Emne, som er webstedsejerens identitet.
- Gyldighedsinformation - en offentlig og en privat nøgle.
Den private og offentlige nøgle er to unikt relaterede kryptografiske nøgler (numre). Alt, hvad der er krypteret med en offentlig nøgle, må kun dekrypteres med en privat nøgle.
Når der ikke er etableret en sikker forbindelse mellem serveren og klienten på grund af certifikatet, vil følgende SSL-certifikatfejl blive manifesteret.
Typer af SSL-certifikatfejl
Antag, at du indtaster en https-anmodning i browseren og får en besked som "Denne forbindelse er ikke tillid" eller "Webstedets sikkerhedscertifikat er ikke tillid til" afhængigt af den browser, du bruger. Så en sådan fejl er underlagt SSL-certifikatfejl.
Nu, hvis browseren ikke er i stand til at etablere en sikker forbindelse med det anmodede certifikat, vil browseren kaste "Untrusted Connection" undtagelsen som nedenfor og bede brugeren om at tage passende handling.
De fejltyper, du sandsynligvis vil se på grund af certifikat i forskellige browsere, kan være noget lignende
- BrandFox - Denne forbindelse er ikke sikker
- Google Chrome -Denne sidesikkerhed er ikke tillid til
- Internet Explorer (IE) – Dette sikkerhedscertifikat præsenteret af denne hjemmeside blev ikke betroet af en betroet certifikatmyndighed (CA)
Sådan håndterer du SSL-certifikatfejl ved hjælp af Selenium Webdriver
Antag, at vi har skrevet nogle testscripts, og mens vi udfører scriptet, fangede vi situationen som "Untrusted Connection" ovenfor, så hvordan håndterer vi undtagelsen udelukkende gennem automatisering.
I sådanne tilfælde er vi nødt til at justere vores script på en sådan måde, at det tager sig af SSL-undtagelsen af sig selv.
Scripts skal ændres i henhold til den type browserforekomst, vi bruger. Disse når de ønskede kapaciteter kommer på billedet.
Desired Capabilities bruges til at konfigurere driverforekomsten af Selenium Webdriver. Gennem ønskede funktioner kan man konfigurere alle driverforekomster som ChromeDriver, FirefoxDriver og Internet Explorer.
På nuværende tidspunkt har vi ikke nogen specifik URL til at oprette ovenstående scenarie, men jeg giver trin, som vi kan tilføje i Selenium Script til at håndtere ovenstående situation "Upålidelig forbindelse."
SSL-certifikatfejlhåndtering ind Firefox
Til håndtering af SSL-certifikatfejl i Firefox, skal vi bruge ønskede muligheder for Selenium Webdriver og følg følgende trin.
Trin 1) Først skal vi oprette en ny firefox-profil sige "min profil“. Du kan henvise til Google for at lære "Sådan opretter du" firefox-profil. Det er enkelt og nemt.
Trin 2) Få nu adgang til minProfil i scriptet som nedenfor og opret FirefoxProfilobjekt.
ProfilesIni prof = new ProfilesIni() FirefoxProfile ffProfile= prof.getProfile ("myProfile")
Trin 3) Nu skal vi indstille "sætAcceptUntrustedCertificates"Og"setAssumeUntrustedCertificateIssuer” ejendomme i Ilden Fox profil.
ffProfile.setAcceptUntrustedCertificates(true) ffProfile.setAssumeUntrustedCertificateIssuer(false)
Trin 4) Brug nu IldenFox profil i IldenFox førerobjekt.
WebDriver driver = new FirefoxDriver (ffProfile)
Bemærk: "setAcceptUntrustedCertificates" og "setAssumeUntrustedCertificateIssuer" er kapaciteter til at håndtere certifikatfejl i webbrowsere.
SSL-certifikatfejlhåndtering i Chrome
Til håndtering af SSL-fejl i Chrome skal vi bruge de ønskede funktioner Selenium Webdriver. Nedenstående kode hjælper med at acceptere alle SSL-certifikater i chrome, og brugeren vil ikke modtage nogen SSL-certifikat relateret fejl ved at bruge denne kode.
Vi skal oprette en instans af DesiredCapabilities-klassen som nedenfor: -
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome () handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true) WebDriver driver = new ChromeDriver (handlSSLErr);
SSL-certifikatfejlhåndtering i IE
I modsætning til håndtering af SSL-certifikater i Chrome browser og Firefox, i IE, skal du muligvis håndtere det ved hjælp af javascript.
For at håndtere SSL-certifikat i IE kan du håndtere denne situation på to måder,
- I denne skal du klikke på linket "Fortsæt til denne hjemmeside (anbefales ikke)”. I det følgende vil vi se, hvordan man håndterer SSL-fejl i IE.
Bemærk SSL-certifikatfejl i IE-browseren, du vil finde linket "Fortsæt til denne hjemmeside (anbefales ikke)". Dette link har ID "tilsidesæt link". Du kan se ID'et i HTML-tilstand ved hjælp af F12.
Klik på linket ved hjælp af driver.navigate() metoden med JavaScript som nedenfor :-
driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
- Den anden metode ligner meget chrome SSL-håndteringskode
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); System.setProperty("webdriver.ie.driver","IEDriverServer.exe"); WebDriver driver = new InternetExplorerDriver(capabilities);
Ovenstående kode hjælper med at håndtere SSL-certifikatfejl i IE.
Resumé
- SSL (Secure Sockets Layer) er en standard sikkerhedsprotokol til etablering af sikker forbindelse mellem serveren og klienten
- Browseren og serveren bruger SSL-certifikatmekanismen for at kunne etablere en sikker forbindelse.
- SSL fungerer gennem en kombination af programmer og kryptering/dekrypteringsrutine, der findes på webservercomputeren og webserverbrowseren.
- Når der ikke er etableret en sikker forbindelse mellem serveren og klienten på grund af certifikatet vil der opstå en SSL-certifikatfejl
- Skal justere vores script på en sådan måde, at det vil tage sig af SSL Undtagelse/fejl af sig selv igennem Selenium Web driver.