Как да боравим със SSL сертификат в Selenium
SSL сертификат в Selenium
SSL (Secure Sockets Layer) е стандартен протокол за сигурност за установяване на защитена връзка между сървъра и клиента, който е браузър.
Сертификатът SSL (Secure Socket Layer) гарантира сигурна трансформация на данни в сървъра и клиентското приложение, използвайки силен стандарт за криптиране или цифров подпис. Трябва да инсталирате SSL сертификат или сертификат за подписване на код.
Предимства на SSL сертификата
Има редица предимства от използването на SSL сертификат като,
- Човек може да увеличи доверието на своите потребители и клиенти, за да подобри бързото развитие на бизнеса
- Тези сертификати помагат за защита на онлайн транзакции и чувствителна информация на клиентите, като данни за кредитни/дебитни карти и др.
- Сертификатът за подписване има тенденция да получава максимален брой изтегляния и добри отзиви от потребителите.
Защитените с SSL уебсайтове започват с https://и можете да видите икона за заключване или зелена адресна лента, ако връзката е сигурно установена.
Например, ако искате да извършите транзакция чрез нетно банкиране или искате да закупите a подвижен телефон чрез сайт за електронна търговия като Flipkart или Amazon.
Какво се случва между уеб браузъра и сървъра
- Браузър се опитва да се свърже с уебсайт, защитен с SSL. Браузърът изисква от уеб сървъра да се идентифицира
- Сървърът изпраща на браузъра копие на своя SSL сертификат
- Браузърът проверява дали SSL сертификатът е истински. Ако е така, той изпраща съобщение до сървъра
- Сървърът изпраща обратно цифрово подписано потвърждение за стартиране на SSL криптирана сесия
- Шифрованите данни се споделят между сървъра и браузъра
При това трябва да предадете чувствителна информация като номера на кредитни карти или идентификационни данни за вход и тя трябва да се предава сигурно, така че да не може да бъде хакната или прихваната.
Например
- Тип https://netbanking.hdfcbank.com/netbanking/ .
- Хит Enter.
- Ще видите зелена адресна лента в браузъра, както е показано по-долу: -
Как SSL сертификатът създава защитена връзка
- Browser изпраща HTTPS заявка към сървъра.
- Сега сървърът трябва да предостави някаква идентификация на браузъра, за да докаже, че му се вярва. Това може да стане чрез изпращане на копие от неговия SSL сертификат до браузъра.
- Всеки браузър има свой собствен списък с доверени CA. Браузърът проверява корена на сертификата спрямо своя списък с доверени CA и дали сертификатът е неизтекъл, неотменен и че общото име е валидно за уебсайта, към който се свързва.
- Ако браузърът вярва на сертификата, се създава криптирана сесия между сървъра и браузъра.
- Сървърът и браузърът могат да изпращат криптирани съобщения
Видове SSL сертификати
Браузърът и сървърът използват механизма на SSL сертификат, за да могат да установят защитена връзка. Тази връзка включва проверка на три вида сертификати.
- Корен
- Междинен
- Сертификат за сървър
Процес на получаване на SSL сертификат
Процесът на получаване на SSL сертификат включва следните стъпки: -
- Първо, трябва да създадете CSR (създаване на заявка за подписване на сертификат).
- CSR заявката създава CSR файл с данни, който се изпраща до издателя на SSL сертификат, известен като CA (Certificate Authority).
- CA използва CSR файловете с данни, за да създаде SSL сертификат за вашия сървър.
- След като получите SSL сертификата, трябва да го инсталирате на вашия сървър.
- Необходим е и междинен сертификат за инсталиране, който свързва вашия SSL сертификат с основния сертификат на CA.
Изображението по-долу представлява и трите сертификата- Основен, междинен и сървърен сертификат.
Как се проверяват SSL сертификатите
SSL работи чрез комбинация от програми и рутина за криптиране/декриптиране, които съществуват на компютъра на уеб сървъра и браузъра на уеб сървъра.
SSL сертификатът основно съдържа информация по-долу.
- Субект, който е самоличността на собственика на уебсайта.
- Информация за валидност - публичен и частен ключ.
Частният и публичният ключ са два уникално свързани криптографски ключа (числа). Всичко, което е криптирано с публичен ключ, може да бъде декриптирано само с частен ключ.
Когато не е установена защитена връзка между сървъра и клиента поради сертификата, ще се появи следната грешка в SSL сертификата.
Видове грешки на SSL сертификат
Да предположим, че въвеждате https заявка в браузъра и получавате съобщение като „Тази връзка е ненадеждна“ или „Сертификатът за сигурност на сайта не е надежден“ в зависимост от браузъра, който използвате. Тогава такава грешка е предмет на грешка в SSL сертификата.
Сега, ако браузърът не може да установи защитена връзка с искания сертификат, тогава браузърът ще хвърли изключение „Ненадеждна връзка“, както е показано по-долу, и ще поиска от потребителя да предприеме подходящи действия.
Видовете грешки, които вероятно ще видите поради сертификат в различни браузъри, може да са донякъде подобни
- ОгънFox – Тази връзка е ненадеждна
- Google Chrome - Сигурността на този сайт не е надеждна
- Internet Explorer (IE) – Този сертификат за сигурност, представен от този уебсайт, не е доверен от доверен сертифициращ орган (CA)
Как да се справим с грешката на SSL сертификата при използване Selenium Уебдрайвер
Да предположим, че сме написали някои тестови скриптове и докато изпълняваме скрипта, сме хванали ситуацията като „Недоверена връзка“ по-горе, тогава как да се справим с изключението чисто чрез автоматизация.
В такъв случай трябва да коригираме скрипта си по такъв начин, че да се погрижи сам за SSL изключение.
Скриптовете трябва да бъдат модифицирани според вида на екземпляра на браузъра, който използваме. Тези, когато желаните възможности се появяват на снимката.
Желаните възможности се използват за конфигуриране на екземпляра на драйвера на 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, можете да се справите с тази ситуация по два начина,
- В това ще щракнете върху връзката „Продължете към този уебсайт (не се препоръчва)”. По-долу ще видим как да се справим с SSL грешка в IE.
Наблюдавайте грешката на SSL сертификата в браузъра IE, ще намерите връзката „Продължете към този уебсайт (не се препоръчва)“. Тази връзка има идентификатор „заменяща връзка“. Можете да видите идентификатора в HTML режим, като използвате F12.
Кликнете върху връзката, като използвате метода driver.navigate() с JavaСценарий както по-долу: -
driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
- Вторият метод е доста подобен на 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);
Горният код ще помогне за справяне с грешка в SSL сертификата в IE.
Oбобщение
- SSL (Secure Sockets Layer) е стандартен протокол за сигурност за установяване на защитена връзка между сървъра и клиента
- Браузърът и сървърът използват механизма на SSL сертификат, за да могат да установят защитена връзка.
- SSL работи чрез комбинация от програми и рутина за криптиране/декриптиране, които съществуват на компютъра на уеб сървъра и браузъра на уеб сървъра.
- Когато не е установена защитена връзка между сървъра и клиента поради сертификат, ще възникне грешка в SSL сертификата
- Трябва да коригираме нашия скрипт по такъв начин, че да се погрижи сам за SSL изключение/грешка Selenium Уеб драйвер.