Hvordan håndtere SSL-sertifikat i Selenium

SSL-sertifikat i Selenium

SSL (Secure Sockets Layer) er en standard sikkerhetsprotokoll for å etablere en sikker forbindelse mellom serveren og klienten som er en nettleser.

SSL (Secure Socket Layer)-sertifikat sikrer sikker transformasjon av data på tvers av serveren og klientapplikasjonen ved bruk av sterk krypteringsstandard eller digital signatur. Man må installere et SSL-sertifikat eller et kodesigneringssertifikat.

Fordeler med SSL-sertifikat

Det er mange fordeler ved å bruke SSL-sertifikat som,

  • Man kan øke deres brukeres og kunders tillit for å øke virksomhetens vekst raskt
  • Disse sertifikatene bidrar til å sikre nettbaserte transaksjoner og kundesensitiv informasjon som kredittkort-/debetkortdata, etc.
  • Signeringssertifikat har en tendens til å få et maksimalt antall nedlastinger og gode anmeldelser fra brukere.

SSL-sikrede nettsteder begynner med https://og du kan se et låsikon eller en grønn adresselinje hvis tilkoblingen er sikkert etablert.

For eksempel, hvis du ønsker å gjøre en transaksjon via nettbank eller ønsker å kjøpe en Mobil telefon via e-handelsside som Flipkart eller Amazon.

Hva skjer mellom nettleseren og serveren

  1. En nettleser prøver å koble til et nettsted som er sikret med SSL. Nettleseren ber webserveren om å identifisere seg
  2. Serveren sender nettleseren en kopi av SSL-sertifikatet
  3. Nettleseren bekrefter om SSL-sertifikatet er ekte. I så fall sender den en melding til serveren
  4. Serveren sender tilbake en digitalt signert bekreftelse for å starte en SSL-kryptert økt
  5. De krypterte dataene deles mellom serveren og nettleseren

Når du gjør det, må du overføre sensitiv informasjon som kredittkortnummer eller påloggingsinformasjon, og som må overføres sikkert slik at den ikke kan hackes eller avskjæres.

For eksempel

  1. typen https://netbanking.hdfcbank.com/netbanking/ .
  2. Trykk Enter.
  3. Du vil se en grønn adresselinje i nettleseren som nedenfor:-

Fordeler med SSL-sertifikat

Hvordan skaper SSL-sertifikatet en sikker tilkobling

SSL-sertifikat Opprett en sikker tilkobling

  1. nett~~POS=TRUNC leseren~~POS=HEADCOMP sender HTTPS-forespørsel til serveren.
  2. Nå må serveren gi en viss identifikasjon til nettleseren for å bevise at den er klarert. Dette kan gjøres ved å sende en kopi av SSL-sertifikatet til nettleseren.
  3. Hver nettleser har sin egen liste over klarerte CA'er. Nettleseren sjekker sertifikatroten mot listen over klarerte CA-er og at sertifikatet ikke er utløpt, ikke tilbakekalt, og at det vanlige navnet er gyldig for nettstedet det kobles til.
  4. Hvis nettleseren stoler på sertifikatet, opprettes en kryptert økt mellom serveren og nettleseren.
  5. Server og nettleser kan sende krypterte meldinger

Typer SSL-sertifikater

Nettleseren og serveren bruker SSL-sertifikatmekanismen for å kunne etablere en sikker tilkobling. Denne forbindelsen innebærer verifisering av tre typer sertifikater.

  • Root
  • Mellom
  • Serversertifikat

Prosess for å få SSL-sertifikat

Prosessen med å få SSL-sertifikat inkluderer trinnene nedenfor:

  1. Først må du opprette CSR-forespørsel (opprett en forespørsel om sertifikatsignering).
  2. CSR-forespørsel oppretter CSR-datafil, som sendes til SSL-sertifikatutsteder kjent som CA (Certificate Authority).
  3. CA bruker CSR-datafilene til å lage SSL-sertifikat for serveren din.
  4. Etter å ha mottatt SSL-sertifikatet, må du installere det på serveren din.
  5. Det er også nødvendig å installere et mellomsertifikat som knytter ditt SSL-sertifikat til CAs rotsertifikat.

Bildet nedenfor representerer alle de tre sertifikatet- Rot-, mellom- og serversertifikat.

Prosess for å få SSL-sertifikat

Hvordan SSL-sertifikater bekreftes

SSL fungerer gjennom en kombinasjon av programmer og kryptering/dekrypteringsrutine som finnes på nettserverdatamaskinen og nettservernettleseren.

SSL-sertifikatet inneholder i utgangspunktet informasjonen nedenfor.

  1. Emne som er identiteten til nettstedets eier.
  2. Gyldighetsinformasjon - en offentlig og en privat nøkkel.

Den private og offentlige nøkkelen er to unikt relaterte kryptografiske nøkler (numre). Det som er kryptert med en offentlig nøkkel kan bare dekrypteres med en privat nøkkel.

SSL-sertifikater er verifisert

Når en sikker forbindelse ikke er etablert mellom serveren og klienten på grunn av sertifikatet, vil følgende SSL-sertifikatfeil vises.

Typer SSL-sertifikatfeil

Anta at du skriver inn en https-forespørsel i nettleseren og får en melding som "Denne tilkoblingen er ikke klarert" eller "Nettstedets sikkerhetssertifikat er ikke klarert" avhengig av nettleseren du bruker. Da er en slik feil gjenstand for SSL-sertifikatfeil.

Nå, hvis nettleseren ikke er i stand til å etablere en sikret forbindelse med det forespurte sertifikatet, vil nettleseren kaste "Utrusted Connection"-unntaket som nedenfor og be brukeren om å iverksette passende tiltak.

Feiltypene du sannsynligvis vil se på grunn av sertifikater i forskjellige nettlesere kan være noe som dette

  1. BrannFox – Denne forbindelsen er ikke klarert
  1. Google Chrome - Denne sidens sikkerhet er ikke klarert
  1. Internet Explorer (IE) – Dette sikkerhetssertifikatet presentert av dette nettstedet ble ikke klarert av en klarert sertifiseringsinstans (CA)

Typer SSL-sertifikatfeil

Hvordan håndtere SSL-sertifikatfeil ved å bruke Selenium Webdriver

Anta at vi har skrevet noen testskript og mens vi kjører skriptet, fanget vi situasjonen som "Utrustet tilkobling" ovenfor, så hvordan håndterer vi unntaket rent gjennom automatisering.

I slike tilfeller må vi justere skriptet vårt på en slik måte at det tar seg av SSL-unntak av seg selv.

Skriptene må endres i henhold til typen nettleserforekomst vi bruker. Disse når ønsket evner kommer inn i bildet.

Ønskede egenskaper brukes til å konfigurere driverforekomsten av Selenium Webdriver. Gjennom ønskede funksjoner kan man konfigurere alle driverforekomster som ChromeDriver, FirefoxDriver og Internet Explorer.

Foreløpig har vi ingen spesifikk URL for å lage scenariet ovenfor, men jeg gir deg trinn som vi kan legge til i Selenium Skript for å håndtere situasjonen ovenfor "Utrustet tilkobling."

SSL-sertifikatfeilhåndtering inn Firefox

For håndtering av SSL-sertifikatfeil i Firefox, må vi bruke ønskede evner til Selenium Webdriver og følg følgende trinn.

Trinn 1) Først må vi opprette en ny firefox-profil si "min profil". Du kan henvise til Google for å lære "Hvordan lage" firefox-profil. Det er enkelt og greit.

Trinn 2) Nå får du tilgang til myProfile i skriptet som nedenfor og lag FirefoxProfilobjekt.

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

Trinn 3) Nå må vi stille inn "setAcceptUntrustedCertificates"Og"setAssumeUntrustedCertificateIssuer” eiendommer i Ilden Fox profil.

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

Trinn 4) Bruk nå brannenFox profil i BrannFox sjåførobjekt.

WebDriver driver = new FirefoxDriver (ffProfile)

Merknader: "setAcceptUntrustedCertificates" og "setAssumeUntrustedCertificateIssuer" er evner til å håndtere sertifikatfeilene i nettlesere.

SSL-sertifikatfeilhåndtering i Chrome

For å håndtere SSL-feil i Chrome, må vi bruke ønskede funksjoner for Selenium Webdriver. Koden nedenfor vil bidra til å godta alle SSL-sertifikatene i chrome, og brukeren vil ikke motta noen SSL-sertifikatrelatert feil ved å bruke denne koden.

Vi må lage en forekomst av DesiredCapabilities-klassen som nedenfor: -

DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome ()       
handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true)
WebDriver driver = new ChromeDriver (handlSSLErr);

SSL-sertifikatfeilhåndtering i IE

I motsetning til å håndtere SSL-sertifikater i Chrome-nettleseren og Firefox, i IE må du kanskje håndtere det ved hjelp av javascript.

For å håndtere SSL-sertifikat i IE, kan du håndtere denne situasjonen på to måter,

  1. I denne vil du klikke på lenken "Fortsett til denne nettsiden (anbefales ikke)". I det følgende vil vi se hvordan du håndterer SSL-feil i IE.

Observer SSL-sertifikatfeil i IE-nettleseren, du vil finne koblingen "Fortsett til denne nettsiden (anbefales ikke)". Denne lenken har ID-en "overstyringslenke". Du kan se IDen i HTML-modus ved å bruke F12.

SSL-sertifikatfeilhåndtering i IE

Klikk på koblingen ved å bruke driver.navigate()-metoden med JavaScript som nedenfor:-

driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
  1. Den andre metoden er ganske lik 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);

Koden ovenfor vil hjelpe til med å håndtere SSL-sertifikatfeil i IE.

Sammendrag

  • SSL (Secure Sockets Layer) er en standard sikkerhetsprotokoll for å etablere sikker forbindelse mellom serveren og klienten
  • Nettleseren og serveren bruker SSL-sertifikatmekanismen for å kunne etablere en sikker tilkobling.
  • SSL fungerer gjennom en kombinasjon av programmer og kryptering/dekrypteringsrutine som finnes på nettserverdatamaskinen og nettservernettleseren.
  • Når sikker tilkobling ikke er etablert mellom serveren og klienten på grunn av sertifikatet vil SSL-sertifikatfeil oppstå
  • Trenger å justere skriptet vårt på en slik måte at det vil ta seg av SSL Unntak/feil av seg selv Selenium Web driver.