Cum să gestionați certificatul SSL în Selenium
Certificat SSL în Selenium
SSL (Secure Sockets Layer) este un protocol de securitate standard pentru stabilirea unei conexiuni sigure între server și client care este un browser.
Certificatul SSL (Secure Socket Layer) asigură transformarea securizată a datelor pe server și aplicația client folosind standarde puternice de criptare sau semnătură digitală. Trebuie să instalați un certificat SSL sau un certificat de semnare a codului.
Beneficiile certificatului SSL
Există un număr de avantaje ale utilizării certificatului SSL, cum ar fi,
- Se poate crește încrederea utilizatorilor și clienților lor pentru a spori rapid creșterea afacerii
- Aceste certificate ajută la securizarea tranzacțiilor online și a informațiilor sensibile ale clienților, cum ar fi datele cardului de credit/debit etc.
- Semnarea certificatului tinde să obțină un număr maxim de descărcări și recenzii bune de la utilizatori.
Site-urile web securizate prin SSL încep cu https://și puteți vedea o pictogramă de lacăt sau o bară de adrese verde dacă conexiunea este stabilită în siguranță.
De exemplu, dacă doriți să faceți o tranzacție prin net banking sau doriți să cumpărați un Mobil telefon prin site-ul de comerț electronic, cum ar fi Flipkart sau Amazon.
Ce se întâmplă între browser și server
- Un browser încearcă să se conecteze la un site web securizat cu SSL. Browserul solicită serverului web să se identifice
- Serverul trimite browserului o copie a certificatului său SSL
- Browserul verifică dacă certificatul SSL este autentic. Dacă da, trimite un mesaj către server
- Serverul trimite înapoi o confirmare semnată digital pentru a începe o sesiune criptată SSL
- Datele criptate sunt partajate între server și browser
Procedând astfel, trebuie să transmiteți informații sensibile, cum ar fi numerele de card de credit sau acreditările de conectare și care trebuie să transmită în siguranță, astfel încât să nu poată fi piratate sau interceptate.
De exemplu
- Tip https://netbanking.hdfcbank.com/netbanking/ .
- Apăsați Enter.
- Veți vedea o bară de adrese verde în browser, după cum urmează:
Cum creează certificatul SSL o conexiune sigură
- Browser trimite cerere HTTPS către server.
- Acum Serverul trebuie să furnizeze o anumită identificare Browser-ului pentru a dovedi că este de încredere. Acest lucru se poate face prin trimiterea unei copii a certificatului său SSL către browser.
- Fiecare Browser are propria sa listă de CA de încredere. Browserul verifică rădăcina certificatului cu lista sa de CA de încredere și că certificatul este neexpirat, nerevocat și că numele comun este valabil pentru site-ul web la care se conectează.
- Dacă browserul are încredere în certificat, se creează o sesiune criptată între server și browser.
- Serverul și Browserul pot trimite mesaje criptate
Tipuri de certificate SSL
Browserul și serverul folosesc mecanismul de certificat SSL pentru a putea stabili o conexiune sigură. Această legătură presupune verificarea a trei tipuri de certificate.
- Rădăcină
- Intermediar
- Certificat de server
Procesul de obținere a certificatului SSL
Procesul de obținere a certificatului SSL include pașii de mai jos: -
- În primul rând, trebuie să creați o cerere CSR (creați o solicitare de semnare a certificatului).
- Solicitarea CSR creează un fișier de date CSR, care este trimis emitentului de certificat SSL cunoscut sub numele de CA (Autoritatea de Certificare).
- CA utilizează fișierele de date CSR pentru a crea un certificat SSL pentru serverul dvs.
- După ce ați primit certificatul SSL, trebuie să îl instalați pe serverul dvs.
- De asemenea, este necesar să fie instalat un certificat intermediar care leagă certificatul dvs. SSL cu certificatul rădăcină al CA.
Imaginea de mai jos reprezintă toate cele trei certificate- Certificat rădăcină, intermediar și server.
Cum sunt verificate certificatele SSL
SSL funcționează printr-o combinație de programe și rutine de criptare/decriptare care există pe computerul serverului web și browserul serverului web.
Certificatul SSL conține practic informațiile de mai jos.
- Subiect care este identitatea proprietarului site-ului web.
- Informații de valabilitate - o cheie publică și una privată.
Cheia privată și cheia publică sunt două chei criptografice (numere) legate în mod unic. Orice este criptat de o cheie publică poate fi decriptat doar de o cheie privată.
Atunci când nu se stabilește o conexiune securizată între server și client din cauza certificatului, se va manifesta următoarea eroare de certificat SSL.
Tipuri de erori de certificat SSL
Să presupunem că introduceți o solicitare https în browser și primiți un mesaj precum „Această conexiune nu este de încredere” sau „Certificatul de securitate al site-ului nu este de încredere”, în funcție de browserul pe care îl utilizați. Apoi, o astfel de eroare este supusă unei erori de certificat SSL.
Acum, dacă browserul nu poate stabili o conexiune securizată cu certificatul solicitat, atunci browserul va lansa excepția „Conexiune neîncrezătoare” ca mai jos și va cere utilizatorului să ia măsurile corespunzătoare.
Tipurile de erori pe care probabil le veți vedea din cauza certificatului în diferite browsere pot fi oarecum așa
- IncendiuFox - Conexiunea nu este de încredere
- Google Chrome -Securitatea acestui site nu este de încredere
- Internet Explorer (IE) – Acest certificat de securitate prezentat de acest site web nu a fost de încredere de către o autoritate de certificare (CA) de încredere
Cum să gestionați eroarea certificatului SSL folosind Selenium Webdriver
Să presupunem că am scris niște scripturi de testare și, în timp ce executăm scriptul, am prins situația ca „Conexiune neîncrezătoare” de mai sus, atunci cum gestionăm excepția doar prin automatizare.
În acest caz, trebuie să ne adaptăm scriptul astfel încât să se ocupe singur de Excepția SSL.
Scripturile trebuie modificate în funcție de tipul de instanță de browser pe care îl folosim. Acestea când capacitățile dorite apar în imagine.
Desired Capabilities este folosit pentru a configura instanța driverului Selenium Webdriver. Prin Capabilitățile dorite, se pot configura toate instanțele de driver, cum ar fi ChromeDriver, FirefoxDriver și Internet Explorer.
Deocamdată nu avem nicio adresă URL specifică pentru a crea scenariul de mai sus, dar vă ofer pași pe care îi putem adăuga în Selenium Script pentru a gestiona situația de mai sus „Conexiune neîncrezătoare”.
Gestionarea erorilor de certificat SSL în Firefox
Pentru gestionarea erorii de certificat SSL în Firefox, trebuie să folosim capacitățile dorite ale Selenium Webdriver și urmați pașii următori.
Pas 1) Mai întâi trebuie să creăm un nou profil Firefox, spune „profilul meu„. Puteți consulta Google pentru a afla „Cum se creează” profilul Firefox. Este simplu și ușor.
Pas 2) Acum accesați myProfile în scriptul ca mai jos și creați FirefoxObiect de profil.
ProfilesIni prof = new ProfilesIni() FirefoxProfile ffProfile= prof.getProfile ("myProfile")
Pas 3) Acum trebuie să setăm „setAcceptUntrustedCertificates"Și"setAssumeUntrustedCertificateIssuer” proprietăți în Foc Fox profil.
ffProfile.setAcceptUntrustedCertificates(true) ffProfile.setAssumeUntrustedCertificateIssuer(false)
Pas 4) Acum folosește FoculFox profil în FocFox obiect conducător auto.
WebDriver driver = new FirefoxDriver (ffProfile)
notițe: „setAcceptUntrustedCertificates” și „setAssumeUntrustedCertificateIssuer sunt capabilități de a gestiona erorile de certificat în browserele web.
Gestionarea erorilor de certificat SSL în Chrome
Pentru a gestiona eroarea SSL în Chrome, trebuie să folosim capabilitățile dorite ale Selenium Webdriver. Codul de mai jos vă va ajuta să acceptați toate certificatele SSL din Chrome, iar utilizatorul nu va primi nicio eroare legată de certificatul SSL folosind acest cod.
Trebuie să creăm o instanță a clasei DesiredCapabilities după cum urmează: -
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome () handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true) WebDriver driver = new ChromeDriver (handlSSLErr);
Gestionarea erorilor de certificat SSL în IE
Spre deosebire de gestionarea certificatelor SSL în browserul Chrome și Firefox, în IE, este posibil să trebuiască să o gestionați folosind javascript.
Pentru a gestiona certificatul SSL în IE, puteți gestiona această situație în două moduri,
- În aceasta, veți face clic pe linkul „Continuați pe acest site (nu este recomandat)”. În cele ce urmează, vom vedea cum să gestionăm eroarea SSL în IE.
Observați eroarea certificatului SSL în browserul IE, veți găsi linkul „Continuați la acest site web (nerecomandat)”. Acest link are ID „override link”. Puteți vizualiza ID-ul în modul HTML folosind F12.
Faceți clic pe link folosind metoda driver.navigate() cu JavaScenariu ca mai jos :-
driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
- A doua metodă este destul de similară cu codul de manipulare SSL Chrome
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); System.setProperty("webdriver.ie.driver","IEDriverServer.exe"); WebDriver driver = new InternetExplorerDriver(capabilities);
Codul de mai sus va ajuta la gestionarea erorii de certificat SSL în IE.
Rezumat
- SSL (Secure Sockets Layer) este un protocol de securitate standard pentru stabilirea unei conexiuni sigure între server și client
- Browserul și serverul folosesc mecanismul de certificat SSL pentru a putea stabili o conexiune sigură.
- SSL funcționează printr-o combinație de programe și rutine de criptare/decriptare care există pe computerul serverului web și browserul serverului web.
- Când conexiunea securizată nu este stabilită între server și client din cauza certificatului, va apărea o eroare de certificat SSL
- Trebuie să ne ajustam scriptul în așa fel încât să se ocupe singur de excepția/eroarea SSL Selenium Driver web.