Плагин эп. Как загрузить и почему не запускается расширение CryptoPro ЭЦП browser plugin в Yandex browser. И во всплывающем окне нажать - Установить расширение

Железный человек 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

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

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

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

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

Олеся Михайловна - генеральный директор ООО "ВКС"

От имени предприятия ГУП "Севастопольское авиационное предприятие" выражаем благодарность за профессионализм и оперативность вашей компании! Желаем вашей компании дальнейшего процветания!

Гуськова Лилия Ивановна - менеджер. ГУП "САП"

Спасибо вам, Михаил, большое за помощь в оформлении. Очень квалифицированный сотрудник +5!

Надия Шамильевна - предприниматель ИП Аношкина

От лица компании "АКБ-Авто" и от себя лично выражаю Вам и всем сотрудникам вашей компании благодарность за продуктивную и качественную работу, чуткое отношение к требованиям клиента и оперативность в исполнении заказываемых работ.

Насибуллина Альфира - Старший менеджер "АКБ-Авто"

Хочу поблагодарить консультанта Михаила за отличную работу, своевременные и полные консультации. Очень внимателен к проблемам клиента и вопросам, оперативное решение самых казалось бы для меня сложных ситуаций. Очень приятно работать с Михаилом!!! Теперь своим клиентам и знакомым буду рекомендовать Вашу компанию. Да и консультанты в тех.поддержке тоже очень вежливы, внимательны, помогли справится со сложной установкой ключа. Спасибо!!!

Ольга Севостьянова.

Приобретение ключа оказалось очень лёгким и, даже, приятным. Огромная благодарность за содействие менеджеру Михаилу. Объясняет сложные и массивные для понимания вещи ёмко, но очень понятно. К тому же я позвонил на горячую бесплатную линию и в режиме он-лайн, вместе с Михаилом оставил заявку. Мне изготовили ключ через 2 рабочих дня. В общем, рекомендую если экономите своё время, но в тоже время хотите иметь понимание - что покупаете и за что платите. Спасибо.

Левицкий Александр Константинович г. Самара

Личная благодарность консультанту Михаилу Владимировичу за оперативную консультацию и работу по ускоренному получению сертификата ЭП. В ходе предварительной консультации подбирается оптимальный набор индивидуальных услуг. Конечный результат получен незамедлительно.

Стоянова Н.Л. - главный бухгалтер ООО "СИТЕКРИМ"

Спасибо за оперативную работу и компетентную помощь! Консультацией остался очень доволен!

Дмитрий Фомин

ООО "Эксперт Система" благодарит за оперативную работу консультанта Михаила! Желаем Вашей компании роста и процветания!

Суханова М.С. - Оценщик ООО "Эксперт Система", г. Волгоград

Спасибо консультанту, представившемуся Михаилом, за оперативность в работе с клиентами.

Пономарев Степан Геннадьевич

Большое спасибо консультанту Михаилу, за оказанную помощь в получении ЭЦП. За оперативную работу и консультирование по вопросам возникающим в процессе оформления.

Леонид Некрасов

Компания в лице консультанта Михаила делает невозможное! Ускорение аккредитации менее чем за 1 час! Оплата по факту оказания услуги. Думал, такого не бывает. С полной ответственностью могу советовать связываться с Центром выдачи электронных подписей.

КриптоПро ЭЦП browser plug-in (он же КриптоПро CADESCOM или Кадеском) - плагин, необходимый для создания и проверки электронной подписи на web-страницах с использованием КриптоПро CSP. Используется для работы на торговых площадках и порталах. Дистрибутив доступен на сайте КриптоПро в разделе Продукты / КриптоПро ЭЦП Browser plug-in http://www.cryptopro.ru/products/cades/plugin/get_2_0 .

Системные требования

  • Установка плагина возможна на следующих операционных системах: Win XP SP3, Win Vista SP2, Win 2003 SP2, Win 2008 SP2, Win 7, Win 2008 R2, Win 8, Win8.1, Win10.
  • Работает с браузерами: IE 8 — 11, Opera, Mozilla Firefox, Google Chrome, Yandex Browser

Не работает в браузере EDGE, предустановленном по умолчанию в Windows 10.

  • Требуется предустановленная КриптоПро CSP версии не ниже 3.6 R2

Особенности некоторых браузеров по настройке работы плагина

  • в Mozilla Firefox 29 и выше: необходимо включить работу плагина (браузер может не запросить разрешения на включение плагина). Для этого пройти диагностику и выполнить фикс «Включение плагинов в Mozilla Firefox» , после чего обязательно перезапустить Firefox . Также это можно сделать вручную: нажать Ctrl+Shift+A, перейти в раздел «Плагины», выбрать CryptoPro CAdES NPAPI Browser Plug-in и перевести его в состояние «Всегда включать» (Always active), после чего обязательно перезапустить Firefox .
  • в Google Chrome необходимо зайти по ссылке и установить расширение.
  • В Yandex Browser и Opera нужно установить расширение, доступное по этой ссылке
  • В Internet Explorer необходимо сделать следующие настройки:
  1. Добавить адрес сайта, на котором работаете с плагином, в надёжные узлы (Свойства браузера / безопасность / надёжные сайты / сайты / добавить адрес сайта).
  2. Если работа ведётся в Internet Explorer 11, то попробовать работу в режиме совместимости.
  3. Проверить, что адрес сайта добавлен в надёжные узлы плагина (большинство сайтов, принимающих сертификаты нашего УЦ, можно добавить автоматически с помощью диагностики https://help.kontur.ru/uc). Чтобы проверить, что сайт добавлен в надежные узлы плагина, нужно перейти в Пуск — Все программы — КРИПТО-ПРО - Настройки КриптоПро ЭЦП Browser plug-in. Откроется окно браузера, в котором нужно будет позволить разблокировать все содержимое страницы/разрешить доступ.

) в разделе "Продукты" -> "КриптоПро ЭЦП 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 будет выдано сообщение с запросом подтверждения запуска надстройки

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

Публикации по теме