Co to jest certyfikat SSL?
SSL (Secure Sockets Layer) to standardowy protokół bezpieczeństwa służący do nawiązywania bezpiecznego połączenia między serwerem a klientem, którym jest przeglądarka.
Certyfikat SSL (Secure Socket Layer) zapewnia bezpieczną transformację danych na serwerze i aplikacji klienckiej przy użyciu silnego standardu szyfrowania lub podpisu cyfrowego. Należy zainstalować certyfikat SSL lub certyfikat do podpisywania kodu.
W tym samouczku nauczysz się:
- Co to jest certyfikat SSL?
- Korzyści z certyfikatu SSL
- W jaki sposób certyfikat SSL tworzy bezpieczne połączenie
- Rodzaje certyfikatów SSL
- Jak weryfikowane są certyfikaty SSL
- Typy błędów certyfikatu SSL
- Jak poradzić sobie z błędem certyfikatu SSL przy użyciu Selenium Webdriver
- Obsługa błędów certyfikatu SSL w przeglądarce Firefox
- Obsługa błędów certyfikatu SSL w przeglądarce Chrome
- Obsługa błędów certyfikatu SSL w IE
Korzyści z certyfikatu SSL
Istnieje wiele korzyści z używania certyfikatu SSL, takich jak:
- Można zwiększyć zaufanie użytkowników i klientów, aby szybko przyspieszyć rozwój firmy
- Certyfikaty te pomagają zabezpieczyć transakcje online i poufne informacje klientów, takie jak dane karty kredytowej / debetowej itp.
- Certyfikat podpisywania zwykle uzyskuje maksymalną liczbę pobrań i dobre recenzje od użytkowników.
Witryny 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ć telefon komórkowy za pośrednictwem witryny e-commerce, takiej jak Flipkart lub Amazon.
Co dzieje się między przeglądarką internetową a serwerem
- Przeglądarka próbuje połączyć się ze stroną internetową zabezpieczoną protokołem SSL. Przeglądarka żąda od serwera WWW identyfikacji siebie
- Serwer wysyła do przeglądarki kopię swojego certyfikatu SSL
- Przeglądarka sprawdza, czy certyfikat SSL jest autentyczny. Jeśli tak, wysyła wiadomość do serwera
- Serwer odsyła podpisane cyfrowo potwierdzenie rozpoczęcia sesji szyfrowanej SSL
- Zaszyfrowane dane są udostępniane między serwerem a przeglądarką
Robiąc to, musisz przesłać poufne informacje, takie jak numery kart kredytowych lub dane logowania, i które muszą być przesyłane w bezpieczny sposób, aby nie można było ich zhakować ani przechwycić.
Na przykład
- Wpisz https://netbanking.hdfcbank.com/netbanking/ .
- Wciśnij Enter.
- W przeglądarce zobaczysz zielony pasek adresu, jak poniżej: -
W jaki sposób certyfikat SSL tworzy bezpieczne połączenie
- Przeglądarka wysyła żądanie HTTPS do serwera.
- Teraz Serwer musi dostarczyć przeglądarce pewną identyfikację, aby udowodnić, że jest zaufana. Można to zrobić, wysyłając kopię jego certyfikatu SSL do przeglądarki.
- Każda przeglądarka ma własną listę zaufanych urzędów certyfikacji. Przeglądarka sprawdza, czy katalog główny certyfikatu znajduje się na liście zaufanych urzędów certyfikacji i czy certyfikat nie wygasł, nie został odwołany oraz czy nazwa pospolita jest prawidłowa dla witryny sieci Web, z którą się łączy.
- Jeśli przeglądarka ufa certyfikatowi, między serwerem a przeglądarką tworzona jest szyfrowana sesja.
- Serwer i przeglądarka mogą wysyłać zaszyfrowane wiadomości
Rodzaje certyfikatów SSL
Przeglądarka i serwer używają mechanizmu SSL Certificate, aby móc ustanowić bezpieczne połączenie. To połączenie obejmuje weryfikację trzech typów certyfikatów.
- Korzeń
- Pośredni
- Certyfikat serwera
Proces uzyskiwania certyfikatu SSL
Proces uzyskiwania certyfikatu SSL obejmuje następujące kroki: -
- Najpierw musisz utworzyć żądanie CSR (utwórz żądanie podpisania certyfikatu).
- Żądanie CSR tworzy plik danych CSR, który jest wysyłany do wystawcy certyfikatu SSL znanego jako CA (urząd certyfikacji).
- Urząd certyfikacji używa plików danych CSR do utworzenia certyfikatu SSL dla Twojego serwera.
- Po otrzymaniu certyfikatu SSL musisz zainstalować go na swoim serwerze.
- Konieczne jest również zainstalowanie certyfikatu pośredniego, który wiąże Twój certyfikat SSL z certyfikatem głównym CA.
Poniższy obraz przedstawia wszystkie trzy certyfikaty - główny, pośredni i certyfikat serwera.
Jak weryfikowane są certyfikaty SSL
SSL działa poprzez połączenie programów i procedury szyfrowania / deszyfrowania, które istnieją na komputerze serwera WWW i przeglądarce serwera WWW.
Certyfikat SSL zasadniczo zawiera poniższe informacje.
- Temat będący tożsamością właściciela serwisu.
- 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żna odszyfrować tylko kluczem prywatnym.
Gdy nie zostanie nawiązane bezpieczne połączenie między serwerem a klientem ze względu na certyfikat, pojawi się następujący błąd certyfikatu SSL.
Typy błędów certyfikatu SSL
Załóżmy, że wpisujesz żądanie https w przeglądarce i otrzymujesz komunikat, taki jak „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 jest obarczony błędem certyfikatu SSL.
Teraz, jeśli przeglądarka nie może ustanowić bezpiecznego połączenia z żądanym certyfikatem, wyświetli wyjątek „Niezaufane połączenie”, jak poniżej i poprosi użytkownika o podjęcie odpowiednich działań.
Typy błędów, które prawdopodobnie wystąpią z powodu certyfikatu w różnych przeglądarkach, mogą być podobne do tego
- FireFox - to połączenie jest niezaufane
- Google Chrome - bezpieczeństwo tej witryny nie jest zaufane
- Internet Explorer (IE) - ten certyfikat bezpieczeństwa przedstawiony przez tę witrynę internetową nie był zaufany przez zaufany urząd certyfikacji (CA)
Jak poradzić sobie z błędem certyfikatu SSL przy użyciu Selenium Webdriver
Załóżmy, że napisaliśmy kilka skryptów testowych i podczas wykonywania skryptu złapaliśmy powyższą sytuację jako „Niezaufane połączenie”, a następnie w jaki sposób obsłużymy wyjątek wyłącznie poprzez automatyzację.
W takim przypadku musimy dostosować nasz skrypt w taki sposób, aby sam zajął się wyjątkiem SSL.
Skrypty należy modyfikować zgodnie z typem używanej przeglądarki. Te, gdy pożądane możliwości pojawiają się na obrazku.
Desired Capabilities służy do konfigurowania instancji sterownika Selenium Webdriver. Za pomocą pożądanych możliwości można skonfigurować wszystkie instancje sterownika, takie jak ChromeDriver, FirefoxDriver i Internet Explorer.
Na razie nie mamy żadnego konkretnego adresu URL do utworzenia powyższego scenariusza, ale zapewniam kroki, które możemy dodać w skrypcie Selenium, aby poradzić sobie z powyższą sytuacją „Niezaufane połączenie”.
Obsługa błędów certyfikatu SSL w przeglądarce Firefox
Aby obsłużyć błąd certyfikatu SSL w przeglądarce Firefox, musimy skorzystać z żądanych możliwości Selenium Webdriver i postępować zgodnie z poniższymi krokami.
Krok 1) : Najpierw musimy utworzyć nowy profil Firefoksa, powiedz „ myProfile ”. Możesz polecić Google, aby dowiedzieć się, jak utworzyć profil w przeglądarce Firefox. To jest proste i łatwe.
Krok 2) : Teraz uzyskaj dostęp do myProfile w skrypcie jak poniżej i utwórz obiekt FirefoxProfile.
ProfilesIni prof = nowy ProfilesIni ()FirefoxProfile ffProfile = prof.getProfile ("myProfile")
Krok 3) : Teraz musimy ustawić właściwości „ setAcceptUntrustedCertificates ” i „ setAssumeUntrustedCertificateIssuer ” w profilu Fire Fox.
ffProfile.setAcceptUntrustedCertificates (prawda)ffProfile.setAssumeUntrustedCertificateIssuer (false)
Krok 4) : Teraz użyj profilu FireFox w obiekcie sterownika FireFox.
Sterownik WebDriver = nowy FirefoxDriver (ffProfile)
Uwaga : „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
Do obsługi błędu SSL w Chrome musimy wykorzystać pożądane możliwości Selenium Webdriver. Poniższy kod pomoże zaakceptować cały certyfikat SSL w chrome, a użytkownik nie otrzyma żadnego błędu związanego z certyfikatem SSL przy użyciu tego kodu.
Musimy stworzyć instancję klasy DesiredCapabilities jak poniżej: -
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome ()handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, prawda)Sterownik WebDriver = nowy 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 Firefox, w IE może być konieczne obsługiwanie tego za pomocą javascript.
Aby obsłużyć certyfikat SSL w IE, możesz sobie z tym poradzić na dwa sposoby:
- W tym celu klikniesz łącze „ Kontynuuj przeglądanie tej witryny (niezalecane)”. Poniżej zobaczymy, jak radzić sobie z błędem SSL w IE.
Obserwuj błąd certyfikatu SSL w przeglądarce IE, znajdziesz link „Kontynuuj przeglądanie tej witryny (niezalecane)”. Ten link ma identyfikator „zastąp łącze”. Możesz wyświetlić identyfikator w trybie HTML za pomocą klawisza F12.
Kliknij link, używając metody driver.navigate () z JavaScriptem, jak poniżej: -
driver.navigate () .to ("javascript: document.getElementById ('overridelink'). click ()");
- Druga metoda jest dość podobna do kodu obsługi SSL w chrome
Możliwości DesiredCapabilities = new DesiredCapabilities ();możliwości.setCapability (CapabilityType.ACCEPT_SSL_CERTS, prawda);System.setProperty ("webdriver.ie.driver", "IEDriverServer.exe");WebDriver driver = nowy InternetExplorerDriver (możliwości);
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 nawiązywania bezpiecznego połączenia między serwerem a klientem
- Przeglądarka i serwer używają mechanizmu SSL Certificate, aby móc ustanowić bezpieczne połączenie.
- SSL działa poprzez połączenie programów i procedury szyfrowania / deszyfrowania, które istnieją na komputerze serwera WWW i przeglądarce serwera WWW.
- Gdy nie zostanie nawiązane bezpieczne połączenie między serwerem a klientem z powodu certyfikatu, wystąpi błąd certyfikatu SSL
- Konieczne jest dostosowanie naszego skryptu w taki sposób, aby sam zajął się wyjątkiem / błędem SSL poprzez sterownik Selenium Web.