Як працювати з сертифікатом SSL в Selenium

Сертифікат SSL в Selenium

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

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

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

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

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

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

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

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

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

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

Наприклад

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

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

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

Сертифікат SSL Створення безпечного з’єднання

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сертифікати SSL перевірені

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

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

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

Тепер, якщо веб-переглядачу не вдається встановити захищене з’єднання із запитаним сертифікатом, він видасть виняток «Ненадійне з’єднання», як показано нижче, і попросить користувача вжити відповідних дій.

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

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

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

Як усунути помилку сертифіката SSL за допомогою Selenium Веб-драйвер

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

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

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

Desired Capabilities використовується для налаштування примірника драйвера Selenium Веб-драйвер. За допомогою бажаних можливостей можна налаштувати всі екземпляри драйверів, наприклад ChromeDriver, FirefoxДрайвер і Internet Explorer.

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

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

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

Крок 1) Спочатку нам потрібно створити новий профіль firefox, сказати «мій профіль“. Ви можете звернутися до Google, щоб дізнатися «Як створити» профіль firefox. Це просто і легко.

Крок 2) Тепер перейдіть до myProfile у сценарії, як показано нижче, і створіть FirefoxОб'єкт профілю.

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

Крок 3) Тепер нам потрібно встановити "setAcceptUntrustedCertificates"І"setAssumeUntrustedCertificateIssuer” власності у Вогні Fox профіль.

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

Крок 4) Тепер використовуйте вогоньFox профіль у ВогніFox об'єкт драйвера.

WebDriver driver = new FirefoxDriver (ffProfile)

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

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

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

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

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

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

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

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

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

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

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

Натисніть на посилання за допомогою методу driver.navigate(). JavaScript як зазначено нижче :-

driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
  1. Другий метод дуже схожий на код обробки 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);

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

Підсумки

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