Как да боравя със 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. Всеки браузър има свой собствен списък с доверени CA. Браузърът проверява корена на сертификата спрямо неговия списък с доверени сертификати и дали сертификатът е с изтекъл срок на годност, неотменен и че общото име е валидно за уебсайта, към който се свързва.
  4. Ако браузърът се довери на сертификата, между сървъра и браузъра се създава шифрована сесия.
  5. Сървърът и браузърът могат да изпращат криптирани съобщения

Видове SSL сертификати

Браузърът и сървърът използват механизъм SSL сертификат, за да могат да установят сигурна връзка. Тази връзка включва проверка на три вида сертификати.

  • Корен
  • Междинен
  • Сертификат за сървър

Процес на получаване на SSL сертификат

Процесът на получаване на SSL сертификат включва стъпки по-долу: -

  1. Първо, трябва да създадете заявка за CSR (създаване на заявка за подписване на сертификат).
  2. CSR заявката създава CSR файл с данни, който се изпраща до издателя на SSL сертификат, известен като CA (Certificate Authority).
  3. CA използва файловете с CSR данни, за да създаде SSL сертификат за вашия сървър.
  4. След като получите SSL сертификата, трябва да го инсталирате на вашия сървър.
  5. Необходим е и междинен сертификат, който да свърже вашия SSL сертификат с основния сертификат на CA.

Изображението по-долу представлява всичките три сертификата - корен, междинен и сървър сертификат.

Как се проверяват 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 Script, за да се справим с горната ситуация „Ненадеждна връзка“.

Обработка на грешки в 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 сертификати в хром и потребителят няма да получи грешка, свързана със 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 Web.