Создание запроса на сертификат для ЕБС (Единой Биометрической системы) с ключевым контейнером в КриптоПро HSM
Опубликовано Александр Лавник on 2018-12-21 18:01

Для создания корректного запроса (с новым OID 1.2.643.100.4 - ИНН ЮЛ) необходимо использовать КриптоПро CSP 5.0 R2 и новее.

Чтобы не обновлять КриптоПро CSP до версии 5.0 R2 и новее, что повлечет необходимость повторной настройки подключения к HSM и, возможно, необходимость использования лицензии CSP 5.0 вместо CSP 4.0, можно создать запрос на другом компьютере, например, на компьютере с Windows как описано по ссылке.

Требования к запросу указаны в документе Порядок_ЕБС.pdf в архиве.

Подобный запрос может быть создан с помощью утилиты командной строки cryptcp.

Утилита cryptcp на *nix операционных системах входит в состав дистрибутива КриптоПро CSP.

Ниже приведены примеры команд формирования запроса с помощью cryptcp на Astra Linux с ключевым контейнером в КриптоПро HSM 2.0.

(Предварительно должно быть настроено подключение к КриптоПро HSM - пример настройки.)

Для алгоритма ГОСТ Р 34.10-2012 с длиной закрытого ключа 256 бит:

/opt/cprocsp/bin/amd64/cryptcp -creatrqst \
-provname "Crypto-Pro GOST R 34.10-2012 HSM CSP" -provtype 80 \
-pin 11111111 \
-dn \
"CN=ФГБУ НИИ \"\"\"\"Восход\"\"\"\",\
C=RU,S=77 Москва,\
L=г. Москва,\
STREET=улица Удальцова\, дом 85,\
O=ФГБУ НИИ \"\"\"\"Восход\"\"\"\",\
1.2.643.100.1=1234567890123,\
1.2.643.100.4=1234567890" \
-certusage 1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4 \
-cont contname \
-ext ~/certpolicies.ext -ext ~/hsm2.ext \
~/request.req

В примере предполагается, что файлы расширений certpolicies.ext и hsm2.ext, а также созданный файл запроса request.req находятся в домашней директории текущего пользователя (~/).

Символ "\" в конце строк использован для разбиения команды на строки для большей наглядности, без него команду необходимо записать в одну строку.

Для уже созданного ключевого контейнера необходимо добавить параметр -nokeygen

OID 1.2.643.100.1 - ОГРН.

OID 1.2.643.100.4 - ИНН ЮЛ.

Файлы с закодированными расширениями находятся в архиве:

hsm2.ext - Средство электронной подписи владельца: HSM 2.0,

certpolicies.ext - Политики сертификата.

Проверить состав получившегося запроса можно на компьютере с Windows в командной строке cmd следующим образом:

certutil путь_к_файлу_запроса

Например:

certutil C:\request.req

Для вывода списка ключевых контейнеров в КриптоПро HSM необходимо выполнить команду вида:

/opt/cprocsp/bin/amd64/csptest -keys -enum -verifyc -fqcn -provtype 80 -provider "Crypto-Pro GOST R 34.10-2012 HSM CSP"

Для установки сертификата в ключевой контейнер в КриптоПро HSM необходимо выполнить команду вида:

Для алгоритма ГОСТ Р 34.10-2012 с длиной закрытого ключа 256 бит:

/opt/cprocsp/bin/amd64/certmgr -inst -inst_to_cont -provtype 80 -provname "Crypto-Pro GOST R 34.10-2012 HSM CSP" -cont '\\.\HSMDB\contname' -pin 11111111 -file ~/2012.cer

Для просмотра сертификата в ключевом контейнере в КриптоПро HSM необходимо выполнить команду вида:

Для алгоритма ГОСТ Р 34.10-2012 с длиной закрытого ключа 256 бит:

/opt/cprocsp/bin/amd64/certmgr -list -provtype 80 -provname "Crypto-Pro GOST R 34.10-2012 HSM CSP" -cont '\\.\HSMDB\contname2012'

Для алгоритма ГОСТ Р 34.10-2001 в командах необходимо заменить имя криптопровайдера на "Crypto-Pro HSM CSP" и тип криптопровайдера на 75.

Для алгоритма ГОСТ Р 34.10-2012 с длиной закрытого ключа 512 бит в командах необходимо заменить имя криптопровайдера на "Crypto-Pro GOST R 34.10-2012 Strong HSM CSP" и тип криптопровайдера на 81.

(28 плюсик(ов))
Класс!
Не очень :(