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

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

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

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

  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()
            

Если вам кажется, что пример не работает

Этот пример выставляет куку после показа сообщения. Это сделано намерено для того, чтобы не мозолить глаза посетителю сайта каждый раз.

Если вы тут не первый раз, сбросьте куки и снова увидите сообщение.

Дисклаймер

Да, я знаю, что в модальном окне ссылка на Сбер с https в начале.

Да,я понимаю, что в идеале она должна быть кликабельной.

Я ничего с этим делать не буду, это демо. Допиливайте под себя как надо. Я ни разу не фронтэндер, пример основан на коде с сайта Сбера.

Об авторе