UNPKG

ruscryptojs

Version:

Simplified library for Russian GOST crypto providers.

88 lines (68 loc) 7.29 kB
# [RusCryptoJS](https://aleksandr-ru.github.io/RusCryptoJS/) JS для Российской криптографии (ГОСТ). [![npm](https://img.shields.io/npm/dm/ruscryptojs)](https://www.npmjs.com/package/ruscryptojs) [![npm](https://img.shields.io/npm/v/ruscryptojs?logo=npm)](https://www.npmjs.com/package/ruscryptojs) ### Общие требования - Окружение с поддержкой ES2015 ## Крипто-ПРО Для работы с [КриптоПро ЭЦП Browser plug-in 2.x](https://www.cryptopro.ru/products/cades/plugin) (cades plugin) ### Возможности - Электронная подпись (открепленная и прикрепленная) - Совместная подпись двумя сертификатами (CoSign) - Добавление подписи к существующей - Проверка подписи - Шифрование/дешифрование данных - Получение списка всех сертификатов - Выпуск сертификата (ГОСТ Р 34.10-2001, ГОСТ Р 34.10-2012) - Получение информации об установленном сертификате - Экспорт установленного сертификата Примеры использования см. в [документации](https://aleksandr-ru.github.io/RusCryptoJS/cryptopro.html). ### Известные проблемы - Тестирование функций в синхронном режиме (IE) производилось по остаточному принципу, поэтому возможны неожиданные проблемы; - В синхронном режиме (IE) не поддерживается задание пин-кода при выпуске сертификата и создании подписей, всегда выдается диалог крипто-про для ввода; - В синхронном режиме (IE) может не работать режим кеширования ПИН-кодов при подписании (bind); - Дешифрование может не работать при использовании сертификатов ГОСТ Р 34.10-2012 под macOS; - Поддержка ИНН ЮЛ (INNLE, OID 1.2.643.100.4) доступна начиная с СSP 5.0 и выше; - Проверка валидности сертификата может занимать продолжительное время для сертификатов, выданных УЦ с большим количеством данных в CRL (по-умолчанию отключено начиная с версии 2.7); - КриптоПро ЭЦП Browser plug-in не работает в свежих версиях браузеров на основе Chromium (за исключением ГОСТ и Яндекс), а так же само расширение удалено из магазина. Лечится по [официальной инструкции](https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/467/12/ustnovk-rsshirenija-dlja-plgin-iz-fjjl#chrome); - Manifest V3 (новое расширение [Extension for CAdES Browser Plug-in](https://chromewebstore.google.com/detail/extension-for-cades-brows/pfhgbfnnjiafkhfdkmpiflachepdcjod)) поддерживается начиная с версии 2.8.1 и КриптоПро ЭЦП Browser plug-in 2.0.15400, подробнее [тут](https://support.cryptopro.ru/index.php?/News/NewsItem/View/24/o-perekhode-rsshirenijj-dlja-bruzerov-n-bze-google-chrome-n-manifest-v3); - Установка СКЗИ в Arch Linux (Manjaro и т.д.) - используйте пакет [cryptopro-csp-k1](https://aur.archlinux.org/packages/cryptopro-csp-k1). ## JaCarta ГОСТ Для работы с [JaCarta Web Client 3.x](https://www.aladdin-rd.ru/catalog/jcwebclient) **Считается устаревшим и не рекомендуется к использованию, вместо него используйте JaCarta-2 ГОСТ** ### Возможности - Электронная подпись (только открепленная) - Получение списка всех сертификатов - Выпуск сертификата (ГОСТ Р 34.10-2001) - Получение информации об установленном сертификате - Экспорт установленного сертификата - Очистка токена от контейнеров Примеры использования см. в [документации](https://aleksandr-ru.github.io/RusCryptoJS/jacarta.html). ## JaCarta-2 ГОСТ Для работы с [JaCarta Web Client 4.x](https://www.aladdin-rd.ru/catalog/jcwebclient) ### Возможности - Электронная подпись (открепленная и прикрепленная) - Шифрование/дешифрование данных - Получение списка всех сертификатов - Выпуск сертификата (ГОСТ Р 34.10-2001, ГОСТ Р 34.10-2012) - Получение информации об установленном сертификате - Экспорт установленного сертификата - Очистка токена от контейнеров Примеры использования см. в [документации](https://aleksandr-ru.github.io/RusCryptoJS/jacarta2.html). ## RuToken ЭЦП 2.0 и 3.0 Для работы с [Рутокен Плагин](https://www.rutoken.ru/products/all/rutoken-plugin/) (не путать с RuToken Lite и др.) ### Возможности - Электронная подпись (открепленная и прикрепленная) - Добавление подписи к существующей - Шифрование/дешифрование данных - Получение списка всех сертификатов - Выпуск сертификата (ГОСТ Р 34.10-2001, ГОСТ Р 34.10-2012) - Получение информации об установленном сертификате - Экспорт установленного сертификата - Очистка токена Примеры использования см. в [документации](https://aleksandr-ru.github.io/RusCryptoJS/rutoken.html). ### Известные проблемы - В Linux старые версии рутокен плагин работает только в Firefox 52 (тк использует устаревший NPAPI), информацию о том, как установить и совместно использовать старый FF вместе с новым см. [здесь](http://aleksandr.ru/blog/neskolko_versiy_firefox_v_linux_odnovremenno/); - В Linux свежие версии рутокен плагин не работают в Сhrome (но работают в Opera). ## Поддержка Проекту требуется поддержка для дальнейшего развития, если вы можете чем-то помочь, [свяжитесь со мной](https://aleksandr.ru/contacts).