CryptoPro
Единое, асинхронное API для взаимодействия с КриптоПРО ЭЦП Browser Plug-In (IE8+)
Поддерживаемые браузеры
- Google Chrome (v45+) с расширением CryptoPro Extension for CAdES Browser Plug-in
- Opera (v40+) с расширением CryptoPro Extension for CAdES Browser Plug-in
- Mozilla Firefox (v43+). Начиная с версии 52, с расширением.
- Internet Explorer (v8+).
Список необходимых полифиллов (подключаются самостоятельно):
- Promise
- EventTarget.addEventListener
- Array.prototype.forEach
- Array.prototype.map
Установка и настройка
NPM
npm install crypto-pro
Bower
bower install crypto-pro
Для корректной работы используйте:
- КриптоПРО CSP (v3.6+) рекомендуется использование только сертифицированных версий. Инструкция по установке:
- Linux / OSX
- (в Windows следуйте указаниям программы-установщика)
- КриптоПРО ЭЦП browser plug-in (v1.5+). Инструкция по установке:
- Linux
- (в Windows и OSX следуйте указаниям программы-установщика)
Затем установите необходимые сертификаты в систему. Инструкция для Linux / OSX.
Установка КриптоПРО CSP в Linux / OSX
Процесс установки в OSX незначительно отличается от Linux, поэтому описание приведено на примере дистрибутива семейства Debian (x64).
Некоторые команды могут потребовать запуска с sudo
.
Названия файлов и директорий могут отличаться из-за различий в версиях.
После загрузки КриптоПРО CSP для нужной платформы, распакуйте архив:
tar -xzvf linux-amd64_deb.tgzchmod 777 -R linux-amd64_deb/
Запустите скрипт установки:
linux-amd64_deb/install.sh
Проверьте отсутствие cprocsp-rdr-gui
:
dpkg -l | grep cprocsp-rdr
Установите дополнительно cprocsp-rdr-gui-gtk
:
dpkg -i linux-amd64_deb/cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb
Дополнительная информация по установке
Установка КриптоПРО ЭЦП browser plug-in в Linux
Загрузите КриптоПРО ЭЦП browser plug-in и распакуйте его:
mkdir cades_linux_amd64tar -xzvf cades_linux_amd64.tar.gz -C cades_linux_amd64
Сконвертируйте rpm
в deb
пакеты при помощи утилиты alien
:
apt-get update && apt-get install aliencd cades_linux_amd64alien *
Установите пакеты:
dpkg -i cprocsp-pki-cades_2.0.0-2_amd64.debdpkg -i cprocsp-pki-plugin_2.0.0-2_amd64.deb
Проверьте наличие файлов плагина:
ls -la /opt/cprocsp/lib/amd64 | grep libnpcades lrwxrwxrwx 1 root root 19 Окт 21 12:33 libnpcades.so -> libnpcades.so.2.0.0 lrwxrwxrwx 1 root root 19 Окт 21 12:33 libnpcades.so.2 -> libnpcades.so.2.0.0 -rwxr-xr-x 1 root root 2727236 Июн 8 14:33 libnpcades.so.2.0.0
Настройка плагина для Firefox (до версии 52):
После настройки плагина на страницах, запрашивающих работу с ЭП в панели навигации, рядом с url будет кнопка, позволяющая "разрешить и запомнить" использование установленного плагина.
cd /usr/lib/mozilla/plugins cp /opt/cprocsp/lib/amd64/libnpcades.so.2.0.0 ./ldd libnpcades.so.2.0.0 cp /opt/cprocsp/lib/amd64/libnpcades.so.2.0.0 ./libnpcades.soldd libnpcades.so
Перезапустите Firefox, и убедитесь в наличии CryptoPRO Cades plugin (см. Menu -> Addons).
Установка сертификатов в Linux
В OSX процесс схож с Linux.
Подключите USB носитель с ключевыми контейнерами и проверьте результат команды:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc CSP v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 16188003 \\.\FLASH\ivanov \\.\FLASH\petrov \\.\FLASH\sidorov \\.\FLASH\vasiliev \\.\FLASH\smirnov OK. Total: SYS: 0,020 sec USR: 0,060 sec UTC: 0,180 sec
Скопируйте ключевой контейнер \\.\FLASH\.\sidorov
на жесткий диск:
/opt/cprocsp/bin/amd64/csptest -keycopy -contsrc '\\.\FLASH\sidorov' -contdest '\\.\HDIMAGE\sidor' CSP v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX. CryptAcquireContext succeeded.HCRYPTPROV: 38556259 CryptAcquireContext succeeded.HCRYPTPROV: 38770755 Total: SYS: 0,000 sec USR: 0,100 sec UTC: 14,920 sec [ErrorCode: 0x00000000]
Наличие [ErrorCode: 0x00000000] в завершении каждой команды КриптоПРО говорит о ее успешном выполнении.
Проверьте наличие нового контейнера \\.\HDIMAGE\sidor
:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc CSP v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 34554467 \\.\FLASH\ivanov \\.\FLASH\petrov \\.\FLASH\sidorov \\.\FLASH\vasiliev \\.\FLASH\smirnov \\.\HDIMAGE\sidor OK. Total: SYS: 0,010 sec USR: 0,050 sec UTC: 0,130 sec [ErrorCode: 0x00000000]
Установите личный сертификат:
/opt/cprocsp/bin/amd64/certmgr -inst -cont '\\.\HDIMAGE\sidor'
Возможно в выводе вы ссылку на сертификат УЦ
При необходимости загрузите сертификат удостоверяющего центра и установите его командой:
/opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file <файл сертификата>.crt
После чего, при проверке установленного личного сертификата вы увидите PrivateKey Link: Yes
:
/opt/cprocsp/bin/amd64/certmgr -list -store uMy
API
Пример работы с API лежит в папке example
.
windowCryptoPro;
Доступные методы
Список доступных методов можно посмотреть в файле src/api.js
.
License
Licensed as MIT. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.