Jak obsługiwać certyfikat SSL w Selenium

Certyfikat SSL w Selenium

SSL (Secure Sockets Layer) to standardowy protokół bezpieczeństwa służący do ustanawiania bezpiecznego połączenia pomiędzy serwerem a klientem, którym jest przeglądarka.

Certyfikat SSL (Secure Socket Layer) zapewnia bezpieczną transformację danych w aplikacji serwera i klienta przy użyciu silnego standardu szyfrowania lub podpisu cyfrowego. Należy zainstalować certyfikat SSL lub certyfikat podpisywania kodu.

Korzyści z certyfikatu SSL

Korzystanie z certyfikatu SSL ma wiele zalet, takich jak:

  • Można zwiększyć zaufanie użytkowników i klientów, aby przyspieszyć rozwój firmy
  • Certyfikaty te pomagają zabezpieczyć transakcje online i poufne informacje klientów, takie jak dane kart kredytowych/debetowych itp.
  • Certyfikat podpisywania zwykle uzyskuje maksymalną liczbę pobrań i dobre recenzje od użytkowników.

Strony internetowe zabezpieczone protokołem SSL zaczynają się od https://i możesz zobaczyć ikonę kłódki lub zielony pasek adresu, jeśli połączenie jest bezpiecznie nawiązane.

Na przykład, jeśli chcesz wykonać jakąś transakcję za pośrednictwem bankowości internetowej lub chcesz kupić Aplikacje mobilne telefon za pośrednictwem witryny handlu elektronicznego, takiej jak Flipkart lub Amazon.

Co dzieje się pomiędzy przeglądarką internetową a serwerem

  1. Przeglądarka próbuje połączyć się ze stroną internetową zabezpieczoną protokołem SSL. Przeglądarka żąda od serwera WWW identyfikacji
  2. Serwer wysyła do przeglądarki kopię swojego certyfikatu SSL
  3. Przeglądarka sprawdza, czy certyfikat SSL jest autentyczny. Jeśli tak, wysyła wiadomość do serwera
  4. Serwer odsyła cyfrowo podpisane potwierdzenie rozpoczęcia sesji szyfrowanej SSL
  5. Zaszyfrowane dane są udostępniane pomiędzy serwerem a przeglądarką

Podczas przesyłania danych konieczne jest przesłanie poufnych informacji, takich jak numery kart kredytowych i dane logowania. Informacje te muszą być przesyłane w sposób bezpieczny, aby uniemożliwić ich zhakowanie lub przechwycenie.

Na przykład

  1. Typ https://netbanking.hdfcbank.com/netbanking/ .
  2. Naciśnij Enter.
  3. W przeglądarce zobaczysz zielony pasek adresu, jak poniżej:-

Korzyści z certyfikatu SSL

W jaki sposób certyfikat SSL tworzy bezpieczne połączenie

Certyfikat SSL Utwórz bezpieczne połączenie

  1. Przeglądarka wysyła żądanie HTTPS do serwera.
  2. Teraz serwer musi zapewnić przeglądarce pewną identyfikację, aby udowodnić, że jest zaufany. Można tego dokonać przesyłając do przeglądarki kopię swojego certyfikatu SSL.
  3. Każda przeglądarka ma własną listę Zaufanych urzędów certyfikacji. Przeglądarka sprawdza, czy katalog główny certyfikatu jest zgodny z listą zaufanych urzędów certyfikacji oraz czy certyfikat nie wygasł, nie został odwołany oraz czy nazwa zwyczajowa jest prawidłowa dla witryny internetowej, z którą się łączy.
  4. Jeśli przeglądarka ufa certyfikatowi, pomiędzy serwerem a przeglądarką tworzona jest zaszyfrowana sesja.
  5. Serwer i przeglądarka mogą wysyłać zaszyfrowane wiadomości

Rodzaje certyfikatów SSL

Przeglądarka i serwer wykorzystują mechanizm certyfikatu SSL, aby móc nawiązać bezpieczne połączenie. Połączenie to polega na weryfikacji trzech rodzajów certyfikatów.

  • Korzeń
  • Średniozaawansowany
  • Certyfikat serwera

Proces uzyskania Certyfikatu SSL

Proces uzyskiwania certyfikatu SSL obejmuje poniższe kroki: -

  1. Najpierw musisz utworzyć żądanie CSR (utwórz żądanie podpisania certyfikatu).
  2. Żądanie CSR tworzy plik danych CSR, który jest wysyłany do wystawcy certyfikatu SSL znanego jako CA (Certificate Authority).
  3. Urząd certyfikacji używa plików danych CSR do utworzenia certyfikatu SSL dla Twojego serwera.
  4. Po otrzymaniu certyfikatu SSL należy go zainstalować na swoim serwerze.
  5. Konieczne jest również zainstalowanie certyfikatu pośredniego, który łączy Twój certyfikat SSL z certyfikatem głównym urzędu certyfikacji.

Poniższy obraz przedstawia wszystkie trzy certyfikaty- Certyfikat główny, pośredni i serwerowy.

Proces uzyskania Certyfikatu SSL

Jak weryfikowane są certyfikaty SSL

SSL działa poprzez kombinację programów i procedur szyfrowania/deszyfrowania, które istnieją na komputerze serwera WWW i przeglądarce serwera WWW.

Certyfikat SSL zasadniczo zawiera poniższe informacje.

  1. Podmiot będący tożsamością właściciela serwisu.
  2. Informacje o ważności – klucz publiczny i prywatny.

Klucz prywatny i publiczny to dwa unikalnie powiązane klucze kryptograficzne (liczby). Cokolwiek jest zaszyfrowane kluczem publicznym, może być odszyfrowane tylko kluczem prywatnym.

Certyfikaty SSL są weryfikowane

Jeśli nie zostanie nawiązane bezpieczne połączenie pomiędzy serwerem a klientem ze względu na certyfikat, pojawi się błąd certyfikatu SSL.

Rodzaje błędów certyfikatu SSL

Załóżmy, że wpisujesz w przeglądarce żądanie https i otrzymujesz komunikat „To połączenie jest niezaufane” lub „Certyfikat bezpieczeństwa witryny nie jest zaufany”, w zależności od używanej przeglądarki. Wtedy taki błąd podlega błędowi certyfikatu SSL.

Teraz, jeśli przeglądarka nie może nawiązać bezpiecznego połączenia z żądanym certyfikatem, przeglądarka zgłosi wyjątek „Niezaufane połączenie” jak poniżej i poprosi użytkownika o podjęcie odpowiednich działań.

Rodzaje błędów, które prawdopodobnie zobaczysz z powodu certyfikatu w różnych przeglądarkach, mogą być mniej więcej podobne

  1. naturaFox - To połączenie jest niezaufane
  1. Google Chrome -Bezpieczeństwo tej witryny nie jest zaufane
  1. Internet Explorer (IE) – Ten certyfikat bezpieczeństwa prezentowany przez tę witrynę nie był zaufany przez zaufany urząd certyfikacji (CA)

Rodzaje błędów certyfikatu SSL

Jak radzić sobie z błędem certyfikatu SSL za pomocą Selenium Sterownik internetowy

Załóżmy, że napisaliśmy kilka skryptów testowych i podczas wykonywania skryptu złapaliśmy powyższą sytuację „Niezaufane połączenie”, a następnie w jaki sposób możemy obsłużyć wyjątek wyłącznie poprzez automatyzację.

W takiej sytuacji musimy dostosować nasz skrypt tak, aby sam zadbał o wyjątek SSL.

Skrypty należy modyfikować w zależności od typu instancji przeglądarki, z której korzystamy. Te, gdy pożądane możliwości pojawiają się na obrazie.

Żądane możliwości służą do konfigurowania instancji sterownika Selenium Sterownik internetowy. Dzięki żądanym możliwościom można skonfigurować wszystkie instancje sterowników, takie jak ChromeDriver, FirefoxSterownik i przeglądarka Internet Explorer.

W tej chwili nie mamy żadnego konkretnego adresu URL umożliwiającego utworzenie powyższego scenariusza, ale udostępniam kroki, które możemy dodać w pliku Selenium Skrypt obsługujący powyższą sytuację „Niezaufane połączenie”.

Błąd obsługi certyfikatu SSL Firefox

Do obsługi błędu certyfikatu SSL w Firefox, musimy wykorzystać pożądane możliwości Selenium Webdriver i wykonaj następujące kroki.

Krok 1) Najpierw musimy utworzyć nowy profil Firefoxa, mówiąc:mój profil„. Możesz skorzystać z wyszukiwarki Google, aby dowiedzieć się „Jak utworzyć” profil Firefox. To proste i łatwe.

Krok 2) Teraz uzyskaj dostęp do myProfile w skrypcie jak poniżej i utwórz plik FirefoxObiekt profilu.

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

Krok 3) Teraz musimy ustawić „setAcceptUntrustedCertificates"I"setAssumeUntrustedCertificateIssuer”właściwości w Ogniu Fox profil.

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

Krok 4) Teraz użyj ogniaFox profil w OgniuFox obiekt kierowcy.

WebDriver driver = new FirefoxDriver (ffProfile)

Note: „setAcceptUntrustedCertificates” i „setAssumeUntrustedCertificateIssuer" to możliwości obsługi błędów certyfikatów w przeglądarkach internetowych.

Obsługa błędów certyfikatu SSL w przeglądarce Chrome

Aby obsłużyć błąd SSL w przeglądarce Chrome, musimy skorzystać z pożądanych możliwości Selenium Sterownik internetowy. Poniższy kod pomoże zaakceptować wszystkie certyfikaty SSL w przeglądarce Chrome, a użytkownik nie otrzyma żadnego błędu związanego z certyfikatem SSL przy użyciu tego kodu.

Musimy utworzyć instancję klasy DesiredCapabilities jak poniżej: -

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

Obsługa błędów certyfikatu SSL w IE

W przeciwieństwie do obsługi certyfikatów SSL w przeglądarce Chrome i Firefoxw IE być może będziesz musiał sobie z tym poradzić za pomocą JavaScript.

Aby obsłużyć certyfikat SSL w IE, możesz poradzić sobie z tą sytuacją na dwa sposoby,

  1. W tym miejscu klikniesz link „Kontynuuj odwiedzanie tej witryny (niezalecane)”. Poniżej pokażemy, jak poradzić sobie z błędem SSL w przeglądarce IE.

Obserwuj błąd certyfikatu SSL w przeglądarce IE, znajdziesz link „Kontynuuj tę stronę (niezalecane)”. Ten link ma identyfikator „override link”. Możesz wyświetlić identyfikator w trybie HTML za pomocą klawisza F12.

Obsługa błędów certyfikatu SSL w IE

Kliknij łącze, korzystając z metody Driver.navigate() za pomocą JAVASCRIPT jak poniżej :-

driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
  1. Druga metoda jest dość podobna do kodu obsługi chrome SSL
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
System.setProperty("webdriver.ie.driver","IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver(capabilities);

Powyższy kod pomoże obsłużyć błąd certyfikatu SSL w IE.

Podsumowanie

  • SSL (Secure Sockets Layer) to standardowy protokół bezpieczeństwa służący do ustanawiania bezpiecznego połączenia pomiędzy serwerem a klientem
  • Przeglądarka i serwer wykorzystują mechanizm certyfikatu SSL, aby móc nawiązać bezpieczne połączenie.
  • SSL działa poprzez kombinację programów i procedur szyfrowania/deszyfrowania, które istnieją na komputerze serwera WWW i przeglądarce serwera WWW.
  • Jeśli bezpieczne połączenie między serwerem a klientem nie zostanie nawiązane z powodu certyfikatu, wystąpi błąd certyfikatu SSL
  • Musimy dostosować nasz skrypt w taki sposób, aby sam poradził sobie z wyjątkami/błędami SSL Selenium Sterownik sieciowy.