2022-07-28 11:29:35

О Российской ГОСТ-криптографии в браузере

JavaScript ЭЦП

Alice, Bob and GOST

В последнее время, видимо на волне импортозамещения, ко мне обратилось несколько совершенно не связанных человек за консультацией по проектам, которые в конечном итоге сводились к реализации ГОСТ-ового алгоритма шифрования или электронной подписи на JavaScript для использования в браузере. Ниже я попытаюсь объяснить, почему такая реализация не имеет смысла.

Читать дальше...

2019-11-06 22:55:49

Выпуск тестовых сертификатов ЭП КриптоПро с любыми данными

КриптоПро ЭЦП

КЭП

По просьбам трудящихся публикую инструкцию "выпускаем себе тестовые сертификаты крипто-про как горячие пирожки!". Здесь описан процесс получение сертификата квалифицированной электронной подписи (КЭП) содержащего любые данные (OID) на тестовом удостоверяющем центре КриптоПро.

Изначально предполагается, что у нас уже установлен CryptoPro CSP и КриптоПро ЭЦП Browser plug-in, если нет, то идем качаем на официальный сайт. Все операции будут описаны относительно работы в ОС Linux. В MacOS и Windows, в принципе, не должно быть существенных отличий, кроме поправки на пути к исполняемым файлам.

Так же необходимо наличие действительного сертификата тестового УЦ КриптоПро в корневом хранилище сертификатов. Проверить его наличие можно командой

/opt/cprocsp/bin/amd64/certmgr -list -store uRoot

В выводе должно быть что-то вроде

Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Serial              : 0x37418882F539A5924AD44E3DE002EA3C
SHA1 Hash           : 0xcd321b87fdabb503829f88db68d893b59a7c5dd3
SubjKeyID           : 4e833e1469efec5d7a952b5f11fe37321649552b
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 27/05/2019  07:24:26 UTC
Not valid after     : 26/05/2024  07:34:05 UTC
PrivateKey Link     : No 

И если вдруг его нет, или истек срок действия (Not valid after), то нужно скачать свежий со страницы https://www.cryptopro.ru/certsrv/certcarc.asp, далее по ссылке Загрузка сертификата ЦС и установить командой

/opt/cprocsp/bin/amd64/certmgr -inst -store uRoot -file /tmp/certnew.cer

Вместо хранилища корневых сертификатов (uRoot) тут можно использовать хранилище для промежуточных УЦ (uCA). Так же важно понимать, что uRoot - это хранилище текущего пользователя, а не root, у него свое такое же хранилище.

Теперь приступаем к выпуску сертификата

Читать дальше...