58440b92da
# Conflicts: # dist/crypto-pro.js # dist/crypto-pro.js.map |
||
---|---|---|
dist | ||
example | ||
src | ||
vendor | ||
.gitignore | ||
bower.json | ||
CHANGELOG.md | ||
npm-shrinkwrap.json | ||
package.json | ||
README.md | ||
webpack.config.js |
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.tgz
chmod 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_amd64
tar -xzvf cades_linux_amd64.tar.gz -C cades_linux_amd64
Сконвертируйте rpm
в deb
пакеты при помощи утилиты alien
:
apt-get update && apt-get install alien
cd cades_linux_amd64
alien *
Установите пакеты:
dpkg -i cprocsp-pki-cades_2.0.0-2_amd64.deb
dpkg -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.so
ldd libnpcades.so
Перезапустите Firefox, и убедитесь в наличии CryptoPRO Cades plugin (см. Menu -> Addons).
Установка сертификатов в Linux
В OSX процесс схож с Linux.
Подключите USB носитель с ключевыми контейнерами и проверьте результат команды:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
CSP (Type:80) 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 (Type:80) 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 (Type:80) 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
.
window.CryptoPro.call('getCertsList').then(function (certList) {
console.log(certList);
});
Доступные методы
Список доступных методов можно посмотреть в файле src/apiAsync.js
.
License
Licensed as MIT. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.