Kako rukovati SSL certifikatom u Selenium
SSL certifikat u Selenium
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 preko poslužiteljske i klijentske aplikacije korištenjem jakog standarda šifriranja ili digitalnog potpisa. Potrebno je instalirati SSL certifikat ili certifikat za potpisivanje koda.
Prednosti SSL certifikata
Postoje brojne prednosti korištenja SSL certifikata kao što su,
- Može se povećati povjerenje korisnika i kupaca kako bi se ubrzao rast poslovanja
- Ovi certifikati pomažu u zaštiti mrežnih transakcija i osjetljivih podataka o klijentima kao što su podaci kreditne/debitne kartice itd.
- Certifikat za potpisivanje ima tendenciju dobivanja maksimalnog broja preuzimanja i dobrih recenzija od korisnika.
Web stranice zaštićene SSL-om počinju s https://i možete vidjeti ikonu lokota ili zelenu adresnu traku ako je veza sigurno uspostavljena.
Na primjer, ako želite obaviti neku transakciju putem net bankarstva ili želite kupiti a Kontakt broj telefona putem web stranice za e-trgovinu kao što je Flipkart ili Amazon.
Što se događa između web preglednika i poslužitelja
- Preglednik se pokušava povezati s web-stranicom zaštićenom SSL-om. Preglednik traži od web poslužitelja da se identificira
- Poslužitelj šalje pregledniku kopiju svog SSL certifikata
- Preglednik provjerava je li SSL certifikat originalan. Ako je tako, šalje poruku poslužitelju
- Poslužitelj šalje natrag digitalno potpisanu potvrdu za početak SSL šifrirane sesije
- Š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 i to se mora prenijeti sigurno kako se ne bi moglo hakirati ili presresti.
Na primjer
- Tip https://netbanking.hdfcbank.com/netbanking/ .
- Pritisnite Enter.
- Vidjet ćete zelenu adresnu traku u pregledniku kao ispod:-
Kako SSL certifikat stvara sigurnu vezu
- preglednik šalje HTTPS zahtjev poslužitelju.
- Poslužitelj sada mora pružiti neku identifikaciju pregledniku kako bi dokazao da mu se vjeruje. To se može učiniti slanjem kopije njegovog SSL certifikata pregledniku.
- Svaki preglednik ima vlastiti popis pouzdanih CA-ova. Preglednik provjerava korijen certifikata prema svom popisu pouzdanih CA-ova i provjerava je li certifikat istekao, nije opozvan te je li uobičajeno ime važeće za web mjesto s kojim se povezuje.
- Ako preglednik vjeruje certifikatu, stvara se šifrirana sesija između poslužitelja i preglednika.
- 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 sljedeće korake:-
- Prvo morate izraditi zahtjev za CSR (kreiranje zahtjeva za potpisivanje certifikata).
- CSR zahtjev stvara CSR podatkovnu datoteku koja se šalje izdavaču SSL certifikata poznatom kao CA (Certificate Authority).
- CA koristi CSR podatkovne datoteke za stvaranje SSL certifikata za vaš poslužitelj.
- Nakon što primite SSL certifikat, morate ga instalirati na svoj poslužitelj.
- Također je potrebno instalirati posredni certifikat koji povezuje vaš SSL certifikat s CA korijenskim certifikatom.
Donja slika predstavlja sva tri certifikata- Root, Intermediate i Server Certificate.
Kako se provjeravaju SSL certifikati
SSL radi 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 podatke ispod.
- Predmet koji je identitet vlasnika web stranice.
- Informacije o valjanosti - javni i privatni ključ.
Privatni i javni ključ dva su jedinstveno povezana kriptografska ključa (broja). Sve što je šifrirano javnim ključem može se dešifrirati samo privatnim ključem.
Kada se ne uspostavi sigurna veza između poslužitelja i klijenta zbog certifikata, pojavit će se sljedeća pogreška SSL certifikata.
Vrste pogrešaka SSL certifikata
Pretpostavimo da unesete neki https zahtjev u preglednik i dobijete poruku kao što je "Ova veza nije pouzdana" ili "Sigurnosni certifikat stranice nije pouzdan" ovisno o pregledniku koji koristite. Tada je takva pogreška podložna pogrešci SSL certifikata.
Sada, ako preglednik ne može uspostaviti sigurnu vezu sa traženim certifikatom, tada će preglednik izbaciti iznimku "Nepouzdana veza" kao u nastavku i zatražiti od korisnika da poduzme odgovarajuće radnje.
Vrste pogrešaka koje ćete vjerojatno vidjeti zbog certifikata u različitim preglednicima mogu biti otprilike ove
- VatraFox - Ova veza nije sigurna
- Google Chrome - Sigurnost ove stranice nije pouzdana
- Internet Explorer (IE) – Povjerljivo tijelo za izdavanje certifikata (CA) nije vjerovalo ovom sigurnosnom certifikatu koji predstavlja ovo web mjesto
Kako riješiti pogrešku SSL certifikata korištenjem Selenium Webdriver
Pretpostavimo da smo napisali neke testne skripte i dok smo izvršavali skriptu, uhvatili smo se u gornjoj situaciji kao što je "Nepouzdana veza", a zatim kako ćemo postupati s iznimkom isključivo putem automatizacije.
U tom slučaju moramo prilagoditi našu skriptu na takav način da se sama pobrine za SSL iznimku.
Skripte je potrebno modificirati prema vrsti preglednika koji koristimo. Ove željene mogućnosti dolaze na sliku.
Željene mogućnosti koriste se za konfiguriranje instance upravljačkog programa Selenium Webdriver. Putem željenih mogućnosti moguće je konfigurirati sve instance upravljačkog programa kao što je ChromeDriver, FirefoxDriver i Internet Explorer.
Od sada nemamo nikakav određeni URL za stvaranje gornjeg scenarija, ali nudim korake koje možemo dodati u Selenium Skripta za rješavanje gornje situacije "Nepouzdana veza".
Upravljanje pogreškom SSL certifikata Firefox
Za rješavanje pogreške SSL certifikata u Firefox, moramo koristiti željene mogućnosti Selenium Webdriver i slijedite sljedeće korake.
Korak 1) Prvo moramo stvoriti novi profil za firefox recimo "moj profil“. Možete uputiti Google da naučite "Kako stvoriti" profil za firefox. Jednostavno je i lako.
Korak 2) Sada pristupite mom profilu u skripti kao u nastavku i kreirajte FirefoxObjekt profila.
ProfilesIni prof = new ProfilesIni() FirefoxProfile ffProfile= prof.getProfile ("myProfile")
Korak 3) Sada moramo postaviti "setAcceptUntrustedCertificates"A"setAssumeUntrustedCertificateIssuer” svojstva u Vatrenom Fox profil.
ffProfile.setAcceptUntrustedCertificates(true) ffProfile.setAssumeUntrustedCertificateIssuer(false)
Korak 4) Sada upotrijebite VatruFox profil u VatrenomFox objekt vozača.
WebDriver driver = new FirefoxDriver (ffProfile)
bilješke: “setAcceptUntrustedCertificates” i “setAssumeUntrustedCertificateIssuer" su mogućnosti za rukovanje pogreškama certifikata u web preglednicima.
Rješavanje pogreške SSL certifikata u Chromeu
Za rukovanje SSL pogreškom u Chromeu moramo koristiti željene mogućnosti Selenium Webdriver. Kôd u nastavku pomoći će prihvatiti sve SSL certifikate u chromeu, a korisnik neće primiti nikakvu pogrešku povezanu s SSL certifikatom koristeći ovaj kod.
Moramo stvoriti instancu klase DesiredCapabilities kao što je prikazano u nastavku:-
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome () handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true) WebDriver driver = new ChromeDriver (handlSSLErr);
Rukovanje pogreškama SSL certifikata u IE
Za razliku od rukovanja SSL certifikatima u pregledniku Chrome i Firefox, u IE, možda ćete to morati riješiti pomoću javascripta.
Za rukovanje SSL certifikatom u IE, ovu situaciju možete riješiti na dva načina,
- Ovdje ćete kliknuti vezu "Nastavite do ove web stranice (ne preporučuje se)”. U nastavku ćemo vidjeti kako riješiti SSL pogrešku u IE.
Obratite pozornost na pogrešku SSL certifikata u IE pregledniku i pronaći ćete vezu "Nastavi na ovu web stranicu (ne preporučuje se)". Ova veza ima ID "poništi vezu". ID možete vidjeti u HTML modu koristeći F12.
Kliknite na vezu pomoću metode driver.navigate() s JavaScript kao ispod :-
driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
- Druga metoda prilično je slična chrome kodu za rukovanje SSL-om
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); System.setProperty("webdriver.ie.driver","IEDriverServer.exe"); WebDriver driver = new InternetExplorerDriver(capabilities);
Gornji kôd pomoći će u rješavanju pogreške SSL certifikata u IE.
Rezime
- 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 radi 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 certifikata, dogodit će se pogreška SSL certifikata
- Moramo prilagoditi našu skriptu na takav način da se sama pobrine za SSL iznimku/pogrešku Selenium Web upravljački program.