Kako postupati sa SSL certifikatom u Selenium WebDriver

Sadržaj:

Anonim

Što je SSL certifikat?

SSL (Secure Sockets Layer) je standardni sigurnosni protokol za uspostavljanje sigurne veze između poslužitelja i klijenta koji je preglednik.

SSL (Secure Socket Layer) certifikat osigurava sigurnu transformaciju podataka na poslužitelju i klijentskoj aplikaciji koristeći snažni standard šifriranja ili digitalni potpis. Treba instalirati SSL certifikat ili certifikat za potpisivanje koda.

U ovom vodiču naučit ćete-

  • Što je SSL certifikat?
  • Prednosti SSL certifikata
  • Kako SSL certifikat stvara sigurnu vezu
  • Vrste SSL certifikata
  • Kako se provjeravaju SSL certifikati
  • Vrste pogrešaka SSL certifikata
  • Kako postupati s pogreškom SSL certifikata pomoću Selenium Webdriver
  • Rukovanje pogreškama SSL certifikata u Firefoxu
  • Rukovanje pogreškama SSL certifikata u Chromeu
  • Rukovanje pogreškama SSL certifikata u IE

Prednosti SSL certifikata

Postoje brojne prednosti korištenja SSL certifikata poput,

  • Može se povećati povjerenje njihovih korisnika i kupaca kako bi se ubrzao rast poslovanja
  • Ovi certifikati pomažu u osiguranju mrežnih transakcija i osjetljivih podataka kupaca poput podataka o kreditnim karticama / debitnim karticama itd.
  • Potpisni certifikat obično postiže maksimalan broj preuzimanja i dobre ocjene korisnika.

Web mjesta zaštićena SSL-om započinju s https: // i možete vidjeti ikonu brave ili zelenu adresnu traku ako je veza sigurno uspostavljena.

Na primjer, ako želite obaviti neku transakciju putem mrežnog bankarstva ili želite kupiti mobitel putem web mjesta za e-trgovinu, poput Flipkarta ili Amazona.

Što se događa između web preglednika i poslužitelja

  1. Preglednik se pokušava povezati s web mjestom osiguranim SSL-om. Preglednik traži od web poslužitelja da se identificira
  2. Poslužitelj šalje pregledniku kopiju svog SSL certifikata
  3. Preglednik provjerava je li SSL certifikat originalan. Ako je tako, šalje poruku poslužitelju
  4. Poslužitelj natrag šalje digitalno potpisanu potvrdu za pokretanje SSL šifrirane sesije
  5. Šifrirani podaci dijele se između poslužitelja i preglednika

Pritom trebate prenijeti osjetljive podatke kao što su brojevi kreditnih kartica ili vjerodajnice za prijavu, a oni se moraju slati sigurno kako ih ne bi bilo moguće hakirati ili presresti.

Na primjer

  1. Upišite https://netbanking.hdfcbank.com/netbanking/ .
  2. Pritisnite Enter.
  3. U pregledniku ćete vidjeti zelenu adresnu traku kao ispod: -

Kako SSL certifikat stvara sigurnu vezu

  1. Preglednik šalje HTTPS zahtjev poslužitelju.
  2. Sada Server mora pružiti neku identifikaciju pregledniku kako bi dokazao da mu se vjeruje. To se može učiniti slanjem kopije SSL certifikata u preglednik.
  3. Svaki preglednik ima svoj popis pouzdanih CA-a. Preglednik provjerava korijen certifikata na popisu pouzdanih CA-ova te je li certifikat istekao, opozvan i da li zajednički naziv vrijedi za web mjesto na koje se povezuje.
  4. Ako preglednik vjeruje certifikatu, kreira se šifrirana sesija između poslužitelja i preglednika.
  5. Poslužitelj i preglednik mogu slati šifrirane poruke

Vrste SSL certifikata

Preglednik i poslužitelj koriste mehanizam SSL certifikata kako bi mogli uspostaviti sigurnu vezu. Ova veza uključuje provjeru tri vrste certifikata.

  • Korijen
  • Srednji
  • Certifikat poslužitelja

Proces dobivanja SSL certifikata

Proces dobivanja SSL certifikata uključuje korake u nastavku: -

  1. Prvo morate stvoriti zahtjev za CSR (stvoriti zahtjev za potpisivanje certifikata).
  2. CSR zahtjev stvara CSR datoteku podataka koja se šalje izdavatelju SSL certifikata poznatom kao CA (Certificate Authority).
  3. CA koristi CSR podatkovne datoteke za stvaranje SSL certifikata za vaš poslužitelj.
  4. Nakon što primite SSL certifikat, morate ga instalirati na svoj poslužitelj.
  5. Također je potreban instalacijski privremeni certifikat koji povezuje vaš SSL certifikat s CA-ovim korijenskim certifikatom.

Slika u nastavku predstavlja sva tri certifikata - korijenski, srednji i certifikat poslužitelja.

Kako se provjeravaju SSL certifikati

SSL djeluje kroz kombinaciju programa i rutine šifriranja / dešifriranja koji postoje na računalu web poslužitelja i pregledniku web poslužitelja.

SSL certifikat u osnovi sadrži dolje navedene podatke.

  1. Predmet koji je identitet vlasnika web stranice.
  2. Podaci o valjanosti - javni i privatni ključ.

Privatni i javni ključ dva su jedinstveno povezana kriptografska ključa (brojevi). Sve što je šifrirano javnim ključem, može dešifrirati samo privatni ključ.

Kad se sigurna veza između poslužitelja i klijenta ne uspostavi zbog certifikata, pojavit će se sljedeća pogreška SSL certifikata.

Vrste pogrešaka SSL certifikata

Pretpostavimo da upišete neki https zahtjev u preglednik i dobijete poruku poput "Ova veza nije pouzdana" ili "Sigurnosni certifikat web lokacije nije pouzdan", ovisno o pregledniku koji koristite. Tada takva pogreška podliježe pogrešci SSL certifikata.

Sada, ako preglednik ne može uspostaviti sigurnu vezu sa zatraženim certifikatom, tada će preglednik izbaciti iznimku "Nepouzdana veza" kao u nastavku i tražiti od korisnika da poduzme odgovarajuće mjere.

Vrste pogrešaka koje ćete vjerojatno vidjeti zbog certifikata u različitim preglednicima mogu biti otprilike ovakve

  1. FireFox - Ova veza nije pouzdana
  1. Google Chrome -Ova sigurnost web mjesta nije pouzdana
  1. Internet Explorer (IE) - Pouzdano tijelo za izdavanje certifikata (CA) nije imalo povjerenja u ovaj sigurnosni certifikat koji je predstavilo ovo web mjesto

Kako postupati s pogreškom SSL certifikata pomoću Selenium Webdriver

Pretpostavimo da smo napisali neke testne skripte i dok smo izvršavali skriptu, ušli smo u situaciju kao "Nepouzdana veza" iznad, kako onda s iznimkom postupiti isključivo automatizacijom.

U tom slučaju, moramo prilagoditi našu skriptu na takav način da će se sama pobrinuti za SSL iznimku.

Skripte treba izmijeniti u skladu s vrstom instance preglednika koju koristimo. To su željene mogućnosti na slici.

Željene mogućnosti koriste se za konfiguriranje instance upravljačkog programa Selenium Webdriver. Kroz željene mogućnosti možete konfigurirati sve instance upravljačkih programa poput ChromeDriver, FirefoxDriver i Internet Explorer.

Za sada nemamo nijedan određeni URL za stvaranje gore navedenog scenarija, ali pružam korake koje možemo dodati u skriptu Selenium kako bismo riješili gornju situaciju "Nepouzdana veza".

Rukovanje pogreškama SSL certifikata u Firefoxu

Za rješavanje pogreške SSL certifikata u Firefoxu moramo koristiti željene mogućnosti Selenium Webdriver i slijediti sljedeće korake.

Korak 1) : Prvo moramo stvoriti novi firefox profil, recimo " myProfile ". Možete uputiti Google da biste saznali kako "stvoriti" profil na firefoxu. Jednostavno je i lako.

Korak 2) : Sada pristupite myProfileu u skripti kao dolje i stvorite objekt FirefoxProfile.

ProfilesIni prof = novi ProfilesIni ()FirefoxProfile ffProfile = prof.getProfile ("mojProfil")

Korak 3) : Sada moramo postaviti svojstva " setAcceptUntrustedCertificates " i " setAssumeUntrustedCertificateIssuer " u profilu Fire Fox.

ffProfile.setAcceptUntrustedCertificates (true)ffProfile.setAssumeUntrustedCertificateIssuer (netačno)

Korak 4) : Sada upotrijebite profil FireFox u objektu upravljačkog programa FireFox.

Upravljački program WebDriver = novi FirefoxDriver (ffProfile) 

Napomena : "setAcceptUntrustedCertificates" i "setAssumeUntrustedCertificateIssuer " mogućnosti su za rukovanje pogreškama certifikata u web preglednicima.

Rukovanje pogreškama SSL certifikata u Chromeu

Za rješavanje SSL pogreške u Chromeu moramo koristiti željene mogućnosti Selenium Webdriver. Kôd u nastavku pomoći će prihvatiti sav SSL certifikat u kromu i korisnik neće primiti nikakvu pogrešku povezanu sa SSL certifikatom pomoću ovog koda.

Moramo stvoriti instancu klase DesiredCapabilities kao dolje: -

DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome ()handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true)Upravljački program WebDriver = novi ChromeDriver (handlSSLErr);

Rukovanje pogreškama SSL certifikata u IE

Za razliku od rukovanja SSL certifikatima u pregledniku Chrome i Firefoxu, u IE-u ćete ga možda morati rukovati pomoću javascripta.

Da biste obrađivali SSL certifikat u IE-u, ovu situaciju možete riješiti na dva načina,

  1. U ovome ćete kliknuti vezu " Nastavi na ovu web stranicu (ne preporučuje se)". U nastavku ćemo vidjeti kako se nositi s SSL pogreškom u IE-u.

Primijetite pogrešku SSL certifikata u pregledniku IE, naći ćete vezu "Nastavi na ovo web mjesto (ne preporučuje se)". Ova veza ima ID "zamjena veze". ID možete pogledati u HTML načinu pomoću F12.

Kliknite vezu pomoću metode driver.navigate () s JavaScriptom kao dolje: -

driver.navigate () .to ("javascript: document.getElementById ('overridelink'). click ()");
  1. Druga metoda prilično je slična kromiranom SSL Handling kodu
Mogućnosti DesiredCapabilities = nove DesiredCapabilities ();sposobnosti.setCapability (CapabilityType.ACCEPT_SSL_CERTS, točno);System.setProperty ("webdriver.ie.driver", "IEDriverServer.exe");Upravljački program WebDriver = novi InternetExplorerDriver (mogućnosti);

Gornji kod pomoći će u rješavanju pogrešaka SSL certifikata u IE.

Sažetak:

  • SSL (Secure Sockets Layer) je standardni sigurnosni protokol za uspostavljanje sigurne veze između poslužitelja i klijenta
  • Preglednik i poslužitelj koriste mehanizam SSL certifikata kako bi mogli uspostaviti sigurnu vezu.
  • SSL djeluje kroz kombinaciju programa i rutine šifriranja / dešifriranja koji postoje na računalu web poslužitelja i pregledniku web poslužitelja.
  • Kada se ne uspostavi sigurna veza između poslužitelja i klijenta zbog pogreške SSL certifikata certifikata
  • Moramo prilagoditi našu skriptu na takav način da će se sama pobrinuti za SSL iznimku / pogrešku putem upravljačkog programa Selenium Web.