Криптопро эцп browser plug in не устанавливается. Для работы с электронной подписью в браузере Internet Explorer потребуется плагин КриптоПро CADESCOM

Установить Рутокен в КриптоПро

Благодаря использованию Рутокен можно надежно защитить информацию от несанкционированного доступа. Защищенная файловая система сохранит в безопасности данные благодаря криптографическому шифрованию. Создано специально ПО, которое объединяет возможности двух программ - КриптоПро Рутокен CSP . Объединив идентификатор и СКЗИ получился надежный модуль, на котором можно безопасно хранить данные.

Так как все действия выполняются внутри ключа-идентификатора и протокол обмена данными защищен уникальной технологией, рационально использовать подобный дистрибутив при работе с электронными документами высокой важности. Если использовать отдельно Рутокен, необходимо прежде всего установить драйвера на ПО. Нельзя подключать идентификатор до установки драйверов. После инсталляции потребуется установка модулей поддержки для КриптоПро. Пройдя этапы подготовки, можно подключать ключ Рутокен. Затем следует запустить программу КриптоПро и во вкладке Оборудование настроить считыватели. Для работы идентификатора нужно выбрать пункт «Все считыватели смарт-карт» и нажать «Далее».

) в разделе "Продукты" -> "КриптоПро ЭЦП Browser plug-in"

При запуске загруженного файла система выдаст запрос на повышение прав до администратора системы. Установка без администраторских прав невозможна.

После установки, обязательно перезапустите ваш браузер! Иногда (в случае использования Chrome) требуется перезагрузка системы, т.к. закрытие всех окон chrome не во всех случаях выгружает браузер из оперативной памяти.

Дополнительные настройки для FireFox версии 52.0 и новее

Не забудьте выполнить установки плагина

Для работы плагина в FireFox начиная c версии 52 необходимо установить свежую версию плагина (не ниже 2.0.12888)(см. ) и специальное расширение для FireFox.

Для установки расширения перейдите из вашего FireFox по ссылке . После перехода, Вам будет предложено установить расширение для FireFox - необходимо подтвердить установку, нажав Install (Установить).

Дополнительные настройки для FireFox версии до 52.0, FireFox ESR (Ошибка: Плагин загружен, но не создаются объекты)

После установки надстройки, её запуск разрешен только после подтверждения пользователем. Разрешить запуск надстройки можно либо только для текущего сайта или навсегда для всех сайтов

Вариант 1: настройка разрешения использования надстройки только для текущего сайта (https://www.сайт)

Когда возникла ошибка: Плагин загружен, но не создаются объекты обратите внимание на адресную строку - в ней появился значок надстройки:

Нажмите на этот значок - вам будет предложено запустить надстройку и запомнить разрешение запускать надстройку для этого сайта навсегда.

Вариант 2: настройка разрешения использования надстройки для всех сайтов

Откройте страницу с установленными дополнениями FireFox

В списке дополнения найдите CryptoPro CAdES NPAPI Browser Plug-in и измените его режим запуска на "Включать всегда"

Дополнительные настройки для Opera

Откройте страницу с поиском дополнения для установки:

Введите в строку поиска "CryptoPro" - будет найдено расширение "CryptoPro Extension for CAdES Browser Plug-in". Нажмите "Добавить в Opera" для установки.

Дополнительные настройки для Yandex браузер

Для Яндекс браузера нужно проделать процедуру, аналогичную случаю с Opera.

Дополнительные настройки для Google Chrome: разрешение установленного дополнения

В случае успешной установки дополнения, при следующем запуске Chrome будет выдано сообщение с запросом подтверждения запуска надстройки

В данном диалоге необходимо разрешить использование расширения

Криптографические операции, такие как создание электронной подписи или расшифрование файла, требуют доступа к ключам и личным данным пользователя (например, к хранилищу личных сертификатов). При выполнении таких операций веб-приложениями (при помощи КриптоПро ЭЦП Browser plug-in) плагин запрашивает разрешение пользователя на обращение к его ключам или личным данным.

Разрешение пользователя будет запрошено при активации объектов КриптоПро ЭЦП Browser plug-in.

Доверенные веб-узлы (например, находящиеся в интрасети организации) могут быть добавлены в список надежных веб-узлов. Веб-узлы из списка надежных узлов не будут запрашивать подтверждения пользователя при открытии хранилища сертификатов и операциях с закрытым ключом пользователя.

Управление списком надежных веб-узлов на Windows-платформах

Для управления списком надежных веб-узлов в КриптоПро ЭЦП Browser plug-in пользователь должен запустить Пуск -> Крипто-Про -> Настройки ЭЦП Browser plug-in . Данная страница входит в состав дистрибутива КриптоПро ЭЦП Browser plug-in.

Администратор компьютера или домена также может управлять списком надежных веб-узлов для всех пользователей через групповую политику. Настройка осуществляется в консоли групповых политик в разделе Конфигурация компьютера/Конфигурация пользователя -> Административные шаблоны -> Крипто-Про -> КриптоПро ЭЦП Browser plug-in . Администратору доступны следующие политики: Список доверенных узлов . Определяет адреса доверенных узлов. Веб-узлы, заданные через данную политику, считаются доверенными вдобавок к тем, которые пользователь добавляет самостоятельно через страницу настроек КриптоПро ЭЦП Browser plug-in.

Страница сохраняет под конкретного пользователя
HKEY_USERS\\Software\Crypto Pro\CAdESplugin

Политика сохраняет в соответствующем разделе для политик:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Crypto-Pro\CadesPlugin\TrustedSites

Управление списком надежных веб-узлов на Unix-платформах

Для управления списком надежных веб-узлов в КриптоПро ЭЦП Browser plug-in на Unix-платформах служит страница /etc/opt/cprocsp/trusted_sites.html, входящая в состав дистрибутива КриптоПро ЭЦП Browser plug-in.

Также, для просмотра списка надежных веб-узлов можно использовать команду:

/opt/cprocsp/sbin//cpconfig -ini «\local\Software\Crypto Pro\CAdESplugin\TrustedSites» -view

Для добавления веб-узлов (например, http://mytrustedsite и http://myothertrustedsite) в список надежных можно использовать команду:

/opt/cprocsp/sbin//cpconfig -ini «\local\Software\Crypto Pro\CAdESplugin» -add multistring «TrustedSites» «http://mytrustedsite» «http://myothertrustedsite»

Для очистки списка надежных веб-узлов можно использовать команду:

/opt/cprocsp/sbin//cpconfig -ini «\local\Software\Crypto Pro\CAdESplugin\TrustedSites» -delparam

Добавление сайтов в список надежных-узлов для всех пользователей доступно используя комманду

/opt/cprocsp/sbin//cpconfig -ini «\config\cades\trustedsites» -add multistring «TrustedSites» «http://www.cryptopro.ru» «https://www.cryptopro.ru»

Ситуация, когда при попытке войти в личный кабинет по ЭП возникает уведомление об ошибке, означает что плагин не установлен или не включен.

Если плагин установлен , то внизу появится уведомление о попытке запустить надстройку. Нажмите кнопку "Разрешить", обновите страницу и повторите вход по ЭП. Действие может потребоваться выполнить несколько раз (на каждую отключенную надстройку плагина).

Если браузер не запросил разрешения на работу надстройки (например, в настройках заблокированы всплывающие окна), то включите его вручную. Для этого:

1. Нажмите значок настроек в правом верхнем углу и выберите пункт "Настроить надстройки".


2. В открывшемся окне установите условие "Отображать все надстройки" (1)

правой кнопкой мыши кликните на название надстройки в разделе "Crypto-Pro" и выберите "Включить".

Если в разделе несколько надстроек - включите поочередно каждую.


Если плагин не был установлен (т.е. в надстройках нет раздела Crypto-Pro), скачайте и установите плагин при закрытых окнах браузера. Предложение скачать плагин появится вместе с уведомлением об ошибке в браузере. Запустите установку, нажав кнопку "Выполнить" (либо сначала сохраните файл, затем запустите его для установки плагина).


После окончания установки запустите браузер и выполните вход на площадку.

Ключевые слова: эксплорер, надстройки

Железный человек 2 мая 2015 в 09:46

Электронная цифровая подпись на сайте при помощи КриптоПро ЭЦП Browser plug-in

В данной статье рассмотрим использование электронно-цифровой подписи на сайте.

Что необходимо, чтобы человек смог использовать электронно-цифровую подпись на сайте?

1) СКЗИ (средство криптографической защиты информации)
Мой опыт работы показывает, что порядка 90% использует КриптоПро CSP (скачать), который в явном или неявном виде продвигают удостоверяющие центры. Порядка 10% VipNet CSP (), который можно использовать бесплатно. С остальными СКЗИ на практике не встречался.
2) КриптоПро ЭЦП Browser plug-in (страница плагина).
3) Установленная подпись (хотя бы одна).

Проверка возможности осуществления подписи
javascript (+jquery)

1) Попытка создать объект cades.
Нужно сделать примечание, что тут и далее, будет деление на браузер с ActiveX(читай IE) и остальные.
Проверка будет осуществляться:

Return ("ActiveXObject" in window);
для ActiveX:

Try { store = new ActiveXObject("CAdESCOM.store"); status = true; } catch (e) { status = false; }
Для остальных:

If (navigator.mimeTypes["application/x-cades"]) { status = true; } else { status = false; }
Если проверка прошла неудачно, то уведомляем об этом пользователя.
Стоит иметь ввиду, что после обновления хрома до версии 42 (спасибо статье за информацию) нужно включить:

Chrome://flags/#enable-npapi
Следующая проверка - а разрешен ли плагин для запуска (не для IE проверка)?

Try { store = objSign.CreateObject("CAPICOM.store"); status = true; } catch (e) { status = false; }
Где objSign:

ObjSign = $("", { "id": "cadesplugin", "type": "application/x-cades", "css": { "visibility": "hidden", "height": "0px", "width": "0px", "position": "absolute" } }).appendTo("body").get(0);
Проверяем на СКЗИ путем попытки открыть хранилище.

Try { store.Open(); status = true; } catch (e) { status = false; }
Проверяем на существование сертификатов в хранилище:

If ("Certificates" in store) { certs = store.Certificates; }

И их количество (бывает, что Certificates есть, но пуст, что нам тоже не подойдет):

If (certs.Count) { status = true; } else { status = false; }

Первый шаг сделали - проверили возможность подписания чего-либо.

Выбор электронной цифровой подписи

У клиента может быть установлено несколько сертификатов. Сертификаты могут быть от разных удостоверяющих центров (УЦ), выданными быть разным людям, с разными датами выдачами, поэтому надо предоставить выбор, каким именно он хочется воспользоваться.

1) Группируем по удостоверяющим центрам
Информация об удостоверяющем центре хранится в сертификате.

Certs.Item(i).GetInfo(1)
где certs - сертификаты из хранилища, см выше
i - порядковый номер сертификата от 1 (обратите внимание) до certs.Count.
Обратите внимание, что, в случае «кривых» сертификатов, вернуться может и undefined, имеет смысл сделать один дефолтный УЦ для таких случаев.

Теперь мы знаем список УЦ, услугами которых воспользовался клиент.
Запоминаем их и выведем через optgroup.
Сам text у option будет таким:
cert.GetInfo(6) + " (" + formatDate(cert.ValidFromDate) + " - " + formatDate(cert.ValidToDate) + ")"
в cert.GetInfo(6) - кому выдан сертификат
в ValidFromDate - с какого срока сертификат начал/начнет действие
в ValidToDate - соответственно, до какого срока

Ну и форматирование даты стандартное:

Function formatDate(d) { try { d = new Date(d); return ("0" + d.getDate()).slice(-2) + "." + ("0" + (d.getMonth() + 1)).slice(-2) + "." + d.getFullYear(); } catch (e) { return ""; } }
Еще можно подсветить option.
Зеленым - для работоспособных сертификатов, красным - нет.
Информацию можно получить при помощи самого сертификата.

Try { return cert.IsValid().Result; } catch (e) { return false; }
Стоит отметить, что сама по себе данная проверка имеет малую ценность, ибо все причины не может отсечь.
Но самые базовые, например, проверка даты - проверяет.

В value у option запишем отпечаток cert.Thumbprint .
Можно порядковый номер записать, можно другие данные - на ваше усмотрение.

Подписание
Ну и, собственно, самый главный шаг, к которому мы стремились - подписание.

1) Находим выбранный сертификат.
Для нашего примера:

Certs.Find(0, thumbprint).Item(1)
0 - означает, что мы ищем по отпечатку
1 - что используем первый результат выборки (по факту единственный)

2) Подписываем:

If (isActiveX()) { var CPSigner = new ActiveXObject("CAdESCOM.CPSigner"); } else { var CPSigner = objSign.CreateObject("CAdESCOM.CPSigner"); } CPSigner.Certificate = cert; if (isActiveX()) { var SignedData = new ActiveXObject("CAdESCOM.CadesSignedData"); } else { var SignedData = objSign.CreateObject("CAdESCOM.CadesSignedData"); } SignedData.Content = text; return SignedData.SignCades(CPSigner, 1, false);

Где cert - сертификат, при помощи которого подписываем
text - собственно, что подписываем
Ну а в return возвращается подписанное сообщение.

P.s. По максимуму код постарался вычистить от специфики проекта. Если кому-то этот материал пригодится и будет интересно - напишу и серверную часть. Проверка подписанного сообщения (с цепочкой и без), проверка сертификата (ocsp и без), использования tsp и т.д.

Теги: criptopro, ЭЦП, openssl, cades, javascript