CryptoPro

CryptoPro

инфа по работе с КриптоПро

Альтернативная библиотека на javascript

home/i_shmel/Downloads/CriptoPro/github/RusCryptoJS/docs/cryptopro.html

OpenSSL

// декодируем подпись из base64

openssl enc -d -base64 -in signedfile.sig -out signedfile

// извлекаем сертификат из подписи

openssl pkcs7 -in signedfile -print_certs -inform DER -out signercert.pem

// проверка времени действия сертификата

openssl x509 -noout -in signercert.pem -dates

// показать серийник сертификата:

openssl x509 -inform DER -in УЦ.cer -serial -noout | tr -d "serial="

openssl x509 -text -in 02.cer -inform DER | grep "serial:" | tr -d "serial" | tr -d ":"

// проверка сертификата

openssl x509 -text -in Югралесхоз.cer -inform PEM

// Преобразовать <file>.p7b в <file>.cer:

openssl pkcs7 -inform DER -outform PEM -in Certnew.p7b -print_certs > certificate_bundle.cer

// проверка ГОСТОВ

openssl ciphers | tr ":" "\n" | grep GOST

должно быть

GOST2012-GOST8912-GOST8912

GOST2001-GOST89-GOST89

// подключение ГОСТОВ

http://cainet.ru/content/pkcs7sign

// основы работы с OpenSSL

https://www.nixp.ru/articles/12.html

// советы и трюки OpenSSL

https://www.securitylab.ru/analytics/456595.php


CryptoPro

/opt/cprocsp/bin/amd64 $ - путь

листинг контейнеров

./csptest -keyset -enum_cont -fqcn -verifycontext

листинг сертификатов

./certmgr -list -store uroot

./certmgr -list -store uMy

Установка корневого сертификата

./certmgr -inst -store uroot -file ~/Downloads/certnew.cer

Установка личного сертификата

./certmgr -inst -store uMy -file ~/Downloads/CriptoPro/cert_18860.cer

Установка сертификата личного сертификата с привязкой к контейнеру

./cryptcp -instcert ~/Download/CryptoPro/cert_18886.cer

привязка сертификата к контейнеру с закрытым сертификатом

certmgr -inst -store uMy -file /var/opt/cprocsp/keys/portalcer.cer -cont '\\.\HDIMAGE\test' –pin *****

Удаление сертификатов из хранилища

./certmgr -delete

./certmgr -delete -store uroot

./certmgr -delete -store uMy

Удаление контейнера

./certmgr -delete -cont '\\.\HDIMAGE\testcont'

Подпись файла открепленной подписью

./csptest -sfsign -sign -detached -in c:\fakepath\testdoc.txt -out c:\fakepath\testdoc.txt.sig -my your@email -add

Проверка открепленной подписи

csptest -sfsign -verify -detached -in c:\fakepath\testdoc.txt -signature c:\fakepath\testdoc.txt.sig -my your@email

Запрос на выпуск сертификата

cryptcp -creatrqst r31.der -provtype 75 -cont Ivanov31 -dn "T=Руководитель,OID.1.2.840.113549.1.9.2=INN=0123456789/KPP=123456789/OGRN=0123456789123,CN=Петров Петр Петрович,OU=Тестовое подразделение,O=""ООО """"Тестовая организация"""""",L=Краснодар,S=23 Краснодарский край,C=RU,E=test@test.ru,ИНН=001234567890,ОГРН=0123456789123,СНИЛС=12345678901" -certusage "1.2.643.1.1,1.2.643.1.2,1.2.643.1.3.1,1.2.643.1.4.5,1.2.643.1.5,1.2.643.1.6" -both -ku -provname "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider"
https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=7562&p=2
https://infotecs.ru/forum/topic/10345-sozdanie-zaprosa-na-kval-sertifikat-s-ispolzovaniem-sredstv-kriptopro/


Экспорт сертификатов и CRL:

./certmgr -export -cert -store root -all -dest root.p7b

./certmgr -export -crl -store CA -all -dest crl.p7b

Импорт сертификатов и CRL:

./certmgr -inst -all -crl -store CA -file crl.p7b

./certmgr -inst -all -store root -file root.p7b


Установка сертификатов используя КриптоПРО в Linux

https://estp.ru/test_eds/cert_install_linux/


Тестовый УД КриптоПро

https://www.cryptopro.ru/certsrv/


Демо-страница

https://www.cryptopro.ru/sites/default/files/products/cades/demopage/main.html

===========================

На странице http://www.cryptopro.ru/products/csp/usage есть такая строка "Руководство программиста и тестовое ПО для версии 3.6 доступны на странице загрузки."

Заходите в Центр загрузки http://www.cryptopro.ru/downloads выбираете "КриптоПро CSP", находите гиперссылку "Документация для разработчиков и примеры (SDK)" и загружаете файл sdk.zip. И там целый проект в исходниках!

И смотрите как работать через CryptoAPI.

============================

Аутентификация на базе ЭЦП

https://habr.com/ru/post/123372/


Тестовая выдача сертификата на сайте КриптоПро

https://www.cryptopro.ru/certsrv/certrqma.asp


Шпаргалка по CryptoPro

https://iamsan.ru/unix-like/cryptopro-linux-faq


Инструкция SDK

https://cpdn.cryptopro.ru/default.asp?url=content/cades/plugin.html


Проверка подписи

https://dss.cryptopro.ru/Verify/Verify/


Некоторые подробности работы с Криптопро на Линуксе в одной статье

http://pushorigin.ru/cryptopro/cryptcp


Форум

https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=5141 //установка сертификатов

https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=2134 //общий процесс шифрования и расшифровки через консоль


Репозиторий для работы с плагином в браузере

https://github.com/Aleksandr-ru/RusCryptoJS

Репозиторий библиотеки gosoap

https://github.com/tiaguinho/gosoap

Альтернативная библиотека для работы с КриптоПро

https://github.com/bankrot/cadesplugin


Читаем контейнер закрытого ключа КриптоПро средствами OpenSSL

https://habr.com/ru/post/275039/


Переход на ГОСТ-2012: главное о новом стандарте электронной подписи

https://iecp.ru/articles/item/421784-perehod-na-novyj-GOST-2012


Открытый ключ

https://lapo.it/asn1js/ - можно взять тут, загрузив сертификат

Возвращается ASN.1 кодирование открытого ключа, в том виде, в котором ключ хранится в сертификате.

Подробнее смотрите стандарт http://www.ietf.org/rfc/rfc4357.txt

Код:   0   99: SEQUENCE {
   2   28:   SEQUENCE {
   4    6:     OBJECT IDENTIFIER GOST R 34.10-2001 (1 2 643 2 2 19)
  12   18:     SEQUENCE {
  14    7:       OBJECT IDENTIFIER '1 2 643 2 2 36 0'
  23    7:       OBJECT IDENTIFIER
         :         id-GostR3411-94-CryptoProParamSet (1 2 643 2 2 30 1)
         :       }
         :     }
  32   67:   BIT STRING, encapsulates {
  35   64:     OCTET STRING
         :       10 CD C7 83 5C 1B 18 84 E0 3F 54 9D BA C5 BE 56
         :       EB AF 79 AB D2 E6 B4 28 4D A0 FB 63 05 56 F6 D3
         :       40 2F D2 62 10 0C BC D7 21 CA 69 78 E6 2D 97 E4
         :       60 48 F5 84 E5 0B E1 05 64 5C 23 E7 E9 91 5D D6
         :     }
         :   }


Первая цифра позиция, вторая длина. Длина всего ключа 101 байт.

bytes[0] = 0x30 - SEQUENCE, длина 99(0x63) состоит из параметров и ключа

bytes[2] = 0x30 - SEQUENCE, длина 28(0x1c) состоит из OID-а и параметров

bytes[4] = 0x06 - OID, длина 6 - 1.2.643.2.2.19 OID открытого ключа ГОСТ

bytes[12] = 0x30 - SEQUENCE, длина 18(0x12) параметры ключа

bytes[14] = 0x06 - OID, длина 7 - 1.2.643.2.2.36.0 OID набора параметров эллиптической кривой для ГОСТ 3410-2001

bytes[23] = 0x06 - OID, длина 7 - 1.2.643.2.2.30.1 OID параметров хеширования ГОСТ 3411-94

bytes[32] = 0x03 - BIT STRING длина 67(0x43) "обертка" для ключа

bytes[35] = 0x04 - OCTET STRING длина 64(0x40) собственно ключ - 64 байта

Report Page