Jak zacházet s certifikátem SSL v Selenium

SSL certifikát v Selenium

SSL (Secure Sockets Layer) je standardní bezpečnostní protokol pro navázání zabezpečeného spojení mezi serverem a klientem, kterým je prohlížeč.

Certifikát SSL (Secure Socket Layer) zajišťuje bezpečnou transformaci dat napříč serverovou a klientskou aplikací pomocí silného šifrovacího standardu nebo digitálního podpisu. Je třeba nainstalovat certifikát SSL nebo certifikát pro podepisování kódu.

Výhody SSL certifikátu

Používání certifikátu SSL má řadu výhod, např.

  • Je možné zvýšit důvěru uživatelů a zákazníků, aby se rychle zvýšil růst podniku
  • Tyto certifikáty pomáhají zabezpečit online transakce a citlivé informace zákazníků, jako jsou údaje o kreditních/debetních kartách atd.
  • Podpisový certifikát má tendenci získat od uživatelů maximální počet stažení a dobré recenze.

Webové stránky zabezpečené SSL začínají https://a pokud je připojení bezpečně navázáno, můžete vidět ikonu zámku nebo zelený adresní řádek.

Například, pokud chcete provést nějakou transakci prostřednictvím internetového bankovnictví nebo si chcete koupit a Mobilní aplikace telefonem prostřednictvím webu elektronického obchodu, jako je Flipkart nebo Amazon.

Co se děje mezi webovým prohlížečem a serverem

  1. Prohlížeč se pokouší připojit k webu zabezpečenému pomocí SSL. Prohlížeč požádá webový server, aby se identifikoval
  2. Server odešle prohlížeči kopii svého certifikátu SSL
  3. Prohlížeč ověří, zda je certifikát SSL pravý. Pokud ano, odešle zprávu na server
  4. Server odešle zpět digitálně podepsané potvrzení o zahájení relace šifrované SSL
  5. Šifrovaná data jsou sdílena mezi serverem a prohlížečem

Přitom musíte přenášet citlivé informace, jako jsou čísla kreditních karet nebo přihlašovací údaje, a ty musí být přenášeny bezpečně, aby nemohly být hacknuty nebo zachyceny.

Například

  1. Typ https://netbanking.hdfcbank.com/netbanking/ .
  2. Stiskněte klávesu Enter.
  3. V prohlížeči uvidíte zelený adresní řádek, jak je uvedeno níže: -

Výhody SSL certifikátu

Jak certifikát SSL vytváří zabezpečené připojení

Certifikát SSL Vytvořte zabezpečené připojení

  1. prohlížeč odešle HTTPS požadavek na server.
  2. Server nyní musí prohlížeči poskytnout určitou identifikaci, aby dokázal, že je důvěryhodný. To lze provést zasláním kopie jeho certifikátu SSL do prohlížeče.
  3. Každý prohlížeč má svůj vlastní seznam důvěryhodných CA. Prohlížeč zkontroluje kořenový certifikát podle jeho seznamu důvěryhodných CA a zda certifikát nevypršela platnost, není odvolán a zda je běžný název platný pro web, ke kterému se připojuje.
  4. Pokud prohlížeč certifikátu důvěřuje, vytvoří se mezi serverem a prohlížečem šifrovaná relace.
  5. Server a prohlížeč mohou odesílat šifrované zprávy

Typy SSL certifikátů

Prohlížeč a server používají mechanismus certifikátu SSL, aby bylo možné vytvořit zabezpečené připojení. Toto spojení zahrnuje ověření tří typů certifikátů.

  • Kořen
  • Střední
  • Certifikát serveru

Proces získání SSL certifikátu

Proces získání certifikátu SSL zahrnuje následující kroky: -

  1. Nejprve musíte vytvořit požadavek CSR (vytvořit žádost o podpis certifikátu).
  2. CSR request vytvoří CSR datový soubor, který je odeslán vydavateli SSL certifikátu známému jako CA (Certificate Authority).
  3. CA používá datové soubory CSR k vytvoření certifikátu SSL pro váš server.
  4. Po obdržení certifikátu SSL jej musíte nainstalovat na svůj server.
  5. Je také potřeba nainstalovat zprostředkující certifikát, který propojí váš certifikát SSL s kořenovým certifikátem CA.

Níže uvedený obrázek představuje všechny tři certifikáty - Kořenový, zprostředkující a serverový certifikát.

Proces získání SSL certifikátu

Jak se ověřují certifikáty SSL

SSL funguje prostřednictvím kombinace programů a rutiny šifrování/dešifrování, které existují na počítači webového serveru a prohlížeči webového serveru.

SSL certifikát v zásadě obsahuje níže uvedené informace.

  1. Předmět, který je identitou vlastníka webu.
  2. Informace o platnosti – veřejný a soukromý klíč.

Soukromý a veřejný klíč jsou dva jedinečně související kryptografické klíče (čísla). Cokoli je zašifrováno veřejným klíčem, může být dešifrováno pouze soukromým klíčem.

SSL certifikáty jsou ověřeny

Pokud se mezi serverem a klientem kvůli certifikátu nenaváže zabezpečené spojení, projeví se následující chyba certifikátu SSL.

Typy chyb certifikátu SSL

Předpokládejme, že do prohlížeče zadáte nějaký požadavek https a zobrazí se zpráva jako „Toto připojení je nedůvěryhodné“ nebo „Bezpečnostní certifikát webu není důvěryhodný“ v závislosti na prohlížeči, který používáte. Pak taková chyba podléhá chybě certifikátu SSL.

Pokud nyní prohlížeč není schopen navázat zabezpečené spojení s požadovaným certifikátem, prohlížeč vyvolá výjimku „Nedůvěryhodné připojení“, jak je uvedeno níže, a požádá uživatele, aby provedl příslušnou akci.

Typy chyb, které pravděpodobně uvidíte kvůli certifikátu v různých prohlížečích, mohou být podobné tomuto

  1. OheňFox - Toto spojení není důvěryhodné
  1. Google Chrome -Toto zabezpečení webu není důvěryhodné
  1. Internet Explorer (IE) – Tento bezpečnostní certifikát prezentovaný tímto webem nebyl důvěryhodný důvěryhodnou certifikační autoritou (CA)

Typy chyb certifikátu SSL

Jak zacházet s chybou certifikátu SSL pomocí Selenium Webdriver

Předpokládejme, že jsme napsali nějaké testovací skripty a při provádění skriptu jsme se dostali do situace jako „Nedůvěryhodné připojení“ výše, pak jak zacházet s výjimkou čistě pomocí automatizace.

V takovém případě musíme náš skript upravit tak, aby se o SSL Exception staral sám.

Skripty je třeba upravit podle typu instance prohlížeče, kterou používáme. Ty, když se objeví požadované schopnosti.

Požadované schopnosti se používají ke konfiguraci instance ovladače Selenium Webdriver. Prostřednictvím požadovaných schopností lze nakonfigurovat všechny instance ovladače, jako je ChromeDriver, FirefoxOvladač a Internet Explorer.

V tuto chvíli nemáme žádnou konkrétní adresu URL pro vytvoření výše uvedeného scénáře, ale poskytuji kroky, které můžeme přidat do Selenium Skript pro řešení výše uvedené situace „Nedůvěryhodné připojení“.

Zpracování chyb certifikátu SSL Firefox

Pro zpracování chyby certifikátu SSL v Firefox, musíme použít požadované schopnosti Selenium Webdriver a postupujte podle následujících kroků.

Krok 1) Nejprve musíme vytvořit nový profil firefox, řekněte „můj profil“. Můžete se obrátit na google, kde se dozvíte „Jak vytvořit“ profil ve Firefoxu. Je to jednoduché a snadné.

Krok 2) Nyní otevřete myProfile ve skriptu, jak je uvedeno níže, a vytvořte soubor FirefoxObjekt profilu.

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

Krok 3) Nyní musíme nastavit „setAcceptUntrustedCertificates"A"setAssumeUntrustedCertificateIssuervlastnosti ve Fire Fox profil.

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

Krok 4) Nyní použijte OheňFox profil v OhniFox objekt řidiče.

WebDriver driver = new FirefoxDriver (ffProfile)

Hodnocení: „setAcceptUntrustedCertificates“ a „setAssumeUntrustedCertificateIssuer“" jsou schopnosti pro zpracování chyb certifikátů ve webových prohlížečích.

Zpracování chyb certifikátu SSL v prohlížeči Chrome

Pro zpracování chyby SSL v prohlížeči Chrome musíme použít požadované možnosti Selenium Webdriver. Níže uvedený kód pomůže přijmout všechny certifikáty SSL v prohlížeči Chrome a uživatel pomocí tohoto kódu neobdrží žádnou chybu související s certifikátem SSL.

Musíme vytvořit instanci třídy DesiredCapabilities, jak je uvedeno níže: -

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

Zpracování chyb certifikátu SSL v IE

Na rozdíl od zpracování certifikátů SSL v prohlížeči Chrome a Firefox, v IE to možná budete muset zvládnout pomocí javascriptu.

Chcete-li zpracovat certifikát SSL v IE, můžete tuto situaci vyřešit dvěma způsoby,

  1. V tomto případě kliknete na odkaz „Pokračovat na tento web (nedoporučuje se)“. V následujícím textu uvidíme, jak zacházet s chybou SSL v IE.

Všimněte si chyby certifikátu SSL v prohlížeči IE a najdete odkaz „Pokračovat na tento web (nedoporučuje se)“. Tento odkaz má ID „přepsat odkaz“. ID můžete zobrazit v režimu HTML pomocí F12.

Zpracování chyb certifikátu SSL v IE

Klikněte na odkaz pomocí metody driver.navigate() s JavaScénář jak je uvedeno níže :-

driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
  1. Druhá metoda je docela podobná chrome SSL Handling code
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
System.setProperty("webdriver.ie.driver","IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver(capabilities);

Výše uvedený kód pomůže zvládnout chybu certifikátu SSL v IE.

Shrnutí

  • SSL (Secure Sockets Layer) je standardní bezpečnostní protokol pro vytvoření zabezpečeného spojení mezi serverem a klientem
  • Prohlížeč a server používají mechanismus certifikátu SSL, aby bylo možné vytvořit zabezpečené připojení.
  • SSL funguje prostřednictvím kombinace programů a rutiny šifrování/dešifrování, které existují na počítači webového serveru a prohlížeči webového serveru.
  • Pokud není navázáno zabezpečené spojení mezi serverem a klientem kvůli certifikátu, dojde k chybě certifikátu SSL
  • Potřebujeme upravit náš skript tak, aby se o výjimku/chybu SSL postaral sám Selenium Webový ovladač.