Что такое 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.
Что происходит между веб-браузером и сервером
- Браузер пытается подключиться к веб-сайту, защищенному с помощью SSL. Браузер просит веб-сервер идентифицировать себя
- Сервер отправляет браузеру копию своего SSL-сертификата.
- Браузер проверяет подлинность SSL-сертификата. Если это так, он отправляет сообщение на сервер
- Сервер отправляет обратно подтверждение с цифровой подписью, чтобы начать сеанс с шифрованием SSL
- Зашифрованные данные передаются между сервером и браузером
При этом вам необходимо передавать конфиденциальную информацию, такую как номера кредитных карт или учетные данные для входа в систему, которая должна быть защищенной, чтобы ее нельзя было взломать или перехватить.
Например
- Введите https://netbanking.hdfcbank.com/netbanking/ .
- Нажмите Enter.
- Вы увидите зеленую адресную строку в браузере, как показано ниже: —
Как сертификат SSL создает безопасное соединение
- Браузер отправляет HTTPS-запрос на сервер.
- Теперь сервер должен предоставить некоторую идентификацию браузеру, чтобы доказать, что он является доверенным. Это можно сделать, отправив копию своего SSL-сертификата в браузер.
- Каждый браузер имеет свой собственный список доверенных ЦС. Браузер проверяет корневой каталог сертификата на соответствие списку доверенных центров сертификации, а также на то, что срок действия сертификата не истек, он не был отменен и что общее имя действительно для веб-сайта, к которому он подключается.
- Если браузер доверяет сертификату, между сервером и браузером создается зашифрованный сеанс.
- Сервер и браузер могут отправлять зашифрованные сообщения
Типы SSL-сертификатов
Браузер и сервер используют механизм SSL-сертификатов, чтобы установить безопасное соединение. Это соединение включает проверку трех типов сертификатов.
- корень
- промежуточный
- Сертификат сервера
Процесс получения SSL-сертификата
Процесс получения SSL-сертификата включает в себя следующие шаги:
- Сначала необходимо создать запрос CSR (создать запрос на подпись сертификата).
- Запрос CSR создает файл данных CSR, который отправляется эмитенту сертификата SSL, известному как CA (центр сертификации).
- CA использует файлы данных CSR для создания SSL-сертификата для вашего сервера.
- Получив сертификат SSL, вы должны установить его на свой сервер.
- Также необходимо установить промежуточный сертификат, который связывает ваш SSL-сертификат с корневым сертификатом CA.
На изображении ниже представлены все три сертификата — корневой, промежуточный и серверный.
Как проверяются сертификаты SSL
SSL работает через комбинацию программ и процедуры шифрования / дешифрования, которые существуют на компьютере веб-сервера и в браузере веб-сервера.
SSL-сертификат в основном содержит нижеприведенную информацию.
- Тема, которая является личностью владельца сайта.
- Достоверность информации — открытый и закрытый ключи.
Закрытый и открытый ключи — это два уникально связанных криптографических ключа (числа). Все, что зашифровано открытым ключом, может быть расшифровано только закрытым ключом.
Если из-за сертификата не установлено безопасное соединение между сервером и клиентом, появится следующая ошибка сертификата SSL.
Типы ошибок SSL-сертификатов
Предположим, вы набрали в браузере какой-то запрос https и получили сообщение, например «Это соединение ненадежное» или «Сертификат безопасности сайта не является доверенным», в зависимости от используемого вами браузера. Тогда такая ошибка является предметом ошибки сертификата SSL.
Теперь, если браузер не может установить защищенное соединение с запрошенным сертификатом, он выдаст исключение «Ненадежное соединение», как показано ниже, и попросит пользователя предпринять соответствующие действия.
Типы ошибок, которые вы можете увидеть из-за сертификата в разных браузерах, могут быть примерно такими
- FireFox — это соединение не заслуживает доверия
- Google Chrome — безопасности этого сайта не доверяют
- 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 = new ProfilesIni() FirefoxProfile ffProfile= prof.getProfile ("myProfile")
Шаг 3) : Теперь нам нужно установить свойства « setAcceptUntrustedCertificates » и « setAssumeUntrustedCertificateIssuer » в профиле Fire Fox.
ffProfile.setAcceptUntrustedCertificates(true) ffProfile.setAssumeUntrustedCertificateIssuer(false)
Шаг 4) : теперь используйте профиль FireFox в объекте драйвера FireFox.
WebDriver driver = new FirefoxDriver (ffProfile)
Примечание . «SetAcceptUntrustedCertificates» и «setAssumeUntrustedCertificateIssuer » являются возможностями для обработки ошибок сертификата в веб-браузерах.
Обработка ошибок сертификата SSL в Chrome
Для обработки ошибки SSL в Chrome нам нужно использовать нужные возможности Selenium Webdriver. Приведенный ниже код поможет принять все 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 () с JavaScript, как показано ниже: —
driver.navigate ().to ("javascript:document.getElementById('overridelink').click()");
- Второй метод очень похож на Chrome SSL Handling code
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.