/RuSslCheck

Пример реализации проверки наличия корневых сертификатов Минцифры

Primary LanguageHTMLCreative Commons Zero v1.0 UniversalCC0-1.0

RuSslCheck

Это пример реализации проверки наличия корневых сертификатов Минцифры.

Вы можете использовать этот пример для реализации на своем сайте, например, если у вас реализован аквайринг через Сбер и есть вероятность, что браузер клиента не сможет отобразить страницу платежного гейта.

Функциональность

  1. Проверяет возможность подключения к сайту, использующему сертификат, выданный Минцифры.
  2. Умеет реагировать на наличие и отсутствие корневых сертификатов Минцифры.
  3. Умеет сохранять куку (на две недели), чтобы не показывать сообщение на каждой странице.
  4. Может выполняться на любом сайте, пользователь при этом не видит страницы с ошибкой сертификата.

Как использовать

  1. Включите в клиентский код своего сайта фрагмент, приведённый ниже.
  2. Реализуйте отображение предупреждения тем способом, который принят у вас на сайте.
  3. Устанавливайте в коде куку "skipSslCheck", если не хотите допекать пользователя сообщением на каждой странице.
  4. Профит.
    const e = new XMLHttpRequest
    e.open("GET", "https://www.sberbank.ru/", !0),
    e.addEventListener("load", (() => {
        // действие если всё ОК
    }
    )),
    e.onerror = function () {
        if (!document.cookie.match(/^(.*;)?\s*skipSslCheck\s*=\s*[^;]+(.*)?$/)) {
            // действие, если корневых нет.
        }
    },
    e.send()