Node.js package to use Cryptopro.ru functionality
Установить КриптоПро CSP: https://cryptopro.ru/downloads
На данный момент используется версия КриптоПро CSP 4.0 R2.
npm install node-cryptopro
npm install --global --production windows-build-tools
npm install node-cryptopro
- Создание контейнера и генерация пары закрытого/открытого ключа в хранилище:
/opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -cont '\.\HDIMAGE\containerName' -provtype 75 -provider "Crypto-Pro GOST R 34.10-2012 KC1 CSP"
Для просмотра списка контейнеров используется команда:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn
- Создание запроса на получение сертификата:
/opt/cprocsp/bin/amd64/cryptcp -creatrqst -dn "E=[email protected], C=RU, CN=localhost, SN=company" -nokeygen -both -ku -cont '\.\HDIMAGE\containerName' containerName.req
- Отправить запрос:
http://www.cryptopro.ru/certsrv/
-
Получить сертификат
-
Установить сертификат:
/opt/cprocsp/bin/amd64/certmgr -inst -store umy -file containerName.cer -cont '\.\HDIMAGE\containerName'
- Установить lsb-cprocsp-devel из дистрибутива КриптоПро CSP или КриптоПро OCSP SDK (https://www.cryptopro.ru/products/pki/ocsp/sdk/downloads), например так:
cd linux-amd64_deb
sudo dpkg -i lsb-cprocsp-devel_4.0.0-4_all.deb
- Установить переменные окружения:
eval `./setenv.sh --64`
- Скомпилировать:
make -f MakeNodeCryptopro
-
Установить КриптоПро OCSP SDK (https://www.cryptopro.ru/products/pki/ocsp/sdk/downloads).
-
Установить переменные окружения:
set PATH=%PATH%C:\Program Files (x86)\Crypto Pro\SDK\include
set INCLUDE=%INCLUDE%C:\Program Files (x86)\Crypto Pro\SDK\include
set LIBPATH=%LIBPATH%C:\Program Files (x86)\Crypto Pro\SDK\lib\amd64
set LIBPATH=%LIBPATH%C:\Program Files (x86)\Crypto Pro\SDK\lib
- Скомпилировать:
cl.exe /D_USRDLL /D_WINDLL nodeCryptopro.c /link /DLL /OUT:nodeCryptopro.dll