Як обробляти сертифікат SSL у Selenium WebDriver

Зміст:

Anonim

Що таке сертифікат SSL?

SSL (Secure Sockets Layer) - це стандартний протокол безпеки для встановлення безпечного з'єднання між сервером і клієнтом, який є браузером.

Сертифікат SSL (Secure Socket Layer) забезпечує безпечне перетворення даних на сервері та клієнтській програмі, використовуючи потужний стандарт шифрування або цифровий підпис. Потрібно встановити сертифікат SSL або сертифікат підпису коду.

У цьому підручнику ви дізнаєтесь-

  • Що таке сертифікат SSL?
  • Переваги сертифіката SSL
  • Як SSL-сертифікат створює безпечне з'єднання
  • Типи SSL-сертифікатів
  • Як перевіряються сертифікати SSL
  • Типи помилок сертифіката SSL
  • Як усунути помилку сертифіката SSL за допомогою Selenium Webdriver
  • Обробка помилок сертифіката SSL у Firefox
  • Обробка помилок сертифіката SSL у Chrome
  • Обробка помилок сертифіката SSL в IE

Переваги сертифіката SSL

Існує ряд переваг використання сертифіката SSL, наприклад,

  • Можна збільшити довіру користувачів та споживачів, щоб швидко збільшити зростання бізнесу
  • Ці сертифікати допомагають захистити онлайн-транзакції та конфіденційну інформацію клієнтів, як-от дані кредитних / дебетових карток тощо.
  • Сертифікат підписання, як правило, отримує максимальну кількість завантажень та хороші відгуки від користувачів.

Веб-сайти, захищені SSL, починаються з https: //, і ви можете побачити піктограму замка або зелений адресний рядок, якщо з’єднання надійно встановлено.

Наприклад, якщо ви хочете здійснити якусь операцію через мережевий банкінг або хочете придбати мобільний телефон через веб-сайт електронної комерції, такий як Flipkart або Amazon.

Що відбувається між веб-браузером та сервером

  1. Браузер намагається підключитися до веб-сайту, захищеного SSL. Браузер просить веб-сервер ідентифікувати себе
  2. Сервер надсилає браузеру копію свого SSL-сертифіката
  3. Браузер перевіряє, чи справжній сертифікат SSL. Якщо так, то він надсилає повідомлення на сервер
  4. Сервер надсилає підтвердження з цифровим підписом для запуску зашифрованого сеансу SSL
  5. Зашифровані дані передаються сервером і браузером

Роблячи це, вам потрібно передати конфіденційну інформацію, таку як номери кредитних карток або реєстраційні дані, і яка повинна передаватися надійно, щоб її не можна було зламати або перехопити.

Наприклад

  1. Введіть https://netbanking.hdfcbank.com/netbanking/ .
  2. Натисніть Enter.
  3. У браузері ви побачите зелений адресний рядок, як показано нижче: -

Як SSL-сертифікат створює безпечне з'єднання

  1. Браузер надсилає запит HTTPS на сервер.
  2. Тепер Сервер повинен надати певний ідентифікатор браузеру, щоб довести, що йому довіряють. Це можна зробити, надіславши копію свого SSL-сертифіката в браузер.
  3. Кожен браузер має свій власний список надійних центрів сертифікації. Браузер перевіряє корінь сертифіката зі своїм списком надійних центрів сертифікації, а також те, що сертифікат втратив чинність, не відкликаний, а також те, що загальна назва дійсна для веб-сайту, до якого він підключається.
  4. Якщо браузер довіряє сертифікату, між сервером і браузером створюється зашифрований сеанс.
  5. Сервер і браузер можуть надсилати зашифровані повідомлення

Типи SSL-сертифікатів

Браузер і сервер використовують механізм сертифікату SSL, щоб мати можливість встановити безпечне з'єднання. Цей зв’язок передбачає перевірку трьох типів сертифікатів.

  • Корінь
  • Середній
  • Сертифікат сервера

Процес отримання сертифіката SSL

Процес отримання сертифіката SSL включає наступні кроки: -

  1. По-перше, ви повинні створити запит на КСВ (створити запит на підпис сертифіката).
  2. Запит CSR створює файл даних CSR, який надсилається видавцю сертифікатів SSL, відомого як CA (Центр сертифікації).
  3. ЦС використовує файли даних CSR для створення сертифіката SSL для вашого сервера.
  4. Отримавши сертифікат SSL, ви повинні встановити його на свій сервер.
  5. Також потрібно встановити проміжний сертифікат, який пов’язує ваш SSL-сертифікат із кореневим сертифікатом ЦС.

Наведене нижче зображення представляє всі три сертифікати - корінний, проміжний та серверний сертифікат.

Як перевіряються сертифікати SSL

SSL працює за допомогою комбінації програм та процедури шифрування / дешифрування, які існують на комп'ютері веб-сервера та браузері веб-сервера.

Сертифікат SSL в основному містить інформацію нижче.

  1. Тема, яка є особою власника веб-сайту.
  2. Інформація про дію - відкритий та приватний ключ.

Приватний та відкритий ключі - це два однозначно пов’язані криптографічні ключі (цифри). Все, що зашифровано відкритим ключем, може бути розшифровано лише приватним ключем.

Якщо безпечне з'єднання між сервером і клієнтом не встановлено через сертифікат, буде виявлено помилку сертифіката SSL.

Типи помилок сертифіката SSL

Припустимо, ви вводите якийсь https-запит у веб-переглядачі та отримуєте повідомлення типу "Це з'єднання ненадійне" або "Сертифікат безпеки сайту не є надійним", залежно від того, який браузер ви використовуєте. Тоді така помилка підлягає помилці сертифіката SSL.

Тепер, якщо браузер не може встановити захищене з'єднання із запитаним сертифікатом, тоді браузер видасть виняток "Ненадійне з'єднання", як показано нижче, і попросить користувача вжити відповідних заходів.

Типи помилок, які ви можете побачити через сертифікат у різних браузерах, можуть бути приблизно такими

  1. FireFox - це з'єднання не є надійним
  1. Google Chrome -Безпека цього сайту не є надійною
  1. Internet Explorer (IE) - Цей сертифікат безпеки, представлений цим веб-сайтом, не був довіреним довіреним центром сертифікації (CA)

Як усунути помилку сертифіката SSL за допомогою Selenium Webdriver

Припустимо, що ми написали кілька тестових сценаріїв, і під час виконання сценарію ми опинились у ситуації як "Ненадійне підключення" вище, ніж тоді, як ми обробляємо виняток виключно за допомогою автоматизації.

У такому випадку ми повинні налаштувати наш сценарій таким чином, щоб він сам подбав про виняток SSL.

Сценарії потрібно модифікувати відповідно до типу екземпляра браузера, який ми використовуємо. Це коли бажані можливості з’являються на зображенні.

Бажані можливості використовується для налаштування екземпляра драйвера Selenium Webdriver. За допомогою бажаних можливостей можна налаштувати всі екземпляри драйверів, такі як ChromeDriver, FirefoxDriver та Internet Explorer.

На даний момент у нас немає жодної конкретної URL-адреси для створення вищезазначеного сценарію, але я пропоную кроки, які ми можемо додати до сценарію Selenium для розв’язання наведеної вище ситуації "Ненадійне підключення".

Обробка помилок сертифіката SSL у Firefox

Для обробки помилки сертифіката SSL у Firefox нам потрібно використовувати бажані можливості Selenium Webdriver та виконати наступні кроки.

Крок 1) : Спочатку нам потрібно створити новий профіль Firefox, скажімо " myProfile ". Ви можете звернутися до Google, щоб дізнатись "Як створити" профіль Firefox. Це просто і просто.

Крок 2) : Тепер відкрийте myProfile у сценарії, як показано нижче, та створіть об’єкт FirefoxProfile.

ProfilesIni prof = нові ProfilesIni ()FirefoxProfile ffProfile = prof.getProfile ("myProfile")

Крок 3) : Тепер нам потрібно встановити властивості " setAcceptUntrustedCertificates " та " setAssumeUntrustedCertificateIssuer " у профілі Fire Fox.

ffProfile.setAcceptUntrustedCertificates (істина)ffProfile.setAssumeUntrustedCertificateIssuer (хибне)

Крок 4) : Тепер використовуйте профіль FireFox у об’єкті драйвера FireFox.

Драйвер WebDriver = новий FirefoxDriver (ffProfile) 

Примітка : "setAcceptUntrustedCertificates" та "setAssumeUntrustedCertificateIssuer " - це можливості для обробки помилок сертифіката у веб-браузерах.

Обробка помилок сертифіката SSL у Chrome

Для обробки помилок SSL у Chrome нам потрібно використовувати бажані можливості Selenium Webdriver. Наведений нижче код допоможе прийняти весь сертифікат SSL у chrome, і користувач не отримає жодної помилки, пов’язаної із сертифікатом SSL, використовуючи цей код.

Нам потрібно створити примірник класу DesiredCapabilities, як показано нижче: -

DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome ()handlSSLErr.setCapability (CapabilityType.ACCEPT_SSL_CERTS, істина)Драйвер WebDriver = новий ChromeDriver (handlSSLErr);

Обробка помилок сертифіката SSL в IE

На відміну від обробки сертифікатів SSL у браузері Chrome та Firefox, в IE вам, можливо, доведеться обробляти це за допомогою JavaScript.

Для обробки сертифіката SSL в IE ви можете вирішити цю ситуацію двома способами,

  1. У цьому пункті ви натиснете посилання " Перейти на цей веб-сайт (не рекомендується)". Далі ми побачимо, як обробляти помилку SSL в IE.

Зверніть увагу на помилку сертифіката SSL в браузері IE, ви знайдете посилання "Перейти на цей веб-сайт (не рекомендується)". Це посилання має ідентифікатор "замінити посилання". Ви можете переглянути ідентифікатор у режимі HTML за допомогою F12.

Клацніть на посилання методом driver.navigate () з JavaScript, як показано нижче: -

driver.navigate () .to ("javascript: document.getElementById ('overridelink'). click ()");
  1. Другий спосіб досить схожий на хромний код обробки SSL
Можливості бажаних можливостей = нові бажані можливості ();възможности.setCapability (CapabilityType.ACCEPT_SSL_CERTS, істина);System.setProperty ("webdriver.ie.driver", "IEDriverServer.exe");Драйвер WebDriver = новий InternetExplorerDriver (можливості);

Наведений вище код допоможе усунути помилку сертифіката SSL в IE.

Короткий зміст:

  • SSL (Secure Sockets Layer) - це стандартний протокол безпеки для встановлення безпечного з'єднання між сервером і клієнтом
  • Браузер і сервер використовують механізм сертифікату SSL, щоб мати можливість встановити безпечне з'єднання.
  • SSL працює за допомогою комбінації програм та процедури шифрування / дешифрування, які існують на комп'ютері веб-сервера та браузері веб-сервера.
  • Якщо безпечне з'єднання між сервером і клієнтом не встановлено через помилку сертифіката SSL сертифіката
  • Потрібно налаштувати наш сценарій таким чином, щоб він сам подбав про виняток / помилку SSL за допомогою веб-драйвера Selenium.