Создание запроса на сертификат для ЕБС (Единой Биометрической системы) с ключевым контейнером в КриптоПро 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 - пример настройки)

/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=Проспект Вернадского\, д.41,\
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 pkup.ext -ext ~/hsm2.ext \
~/request.req

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

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

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

OID 1.2.643.100.1 - ОГРН.

OID 1.2.643.100.4 - ИНН ЮЛ.

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

  • certpolicies.ext - Политики сертификата,
  • pkup.ext - Период использования закрытого ключа (OID 2.5.29.16),
  • hsm2.ext - Средство электронной подписи владельца: HSM 2.0,
  • hsm2r3.ext - Средство электронной подписи владельца: HSM 2.0 R3.

Для задания корректного значения периода использования закрытого ключа можно открыть файл pkup.ext в любом текстовом редакторе и заменить время начала и окончания с:

20240901071000 (1 сентября 2024 года 7 часов 10 минут 0 секунд) и 20270901071000 (1 сентября 2027 года 7 часов 10 минут 0 секунд) на нужные.

Время указывается по UTC, то есть, например, указанное в примере время 07:10 для Москвы (UTC+03:00) будет - 10:10.

В случае использования КриптоПро HSM 2.0 R3 необходимо в команде заменить hsm2.ext на hsm2r3.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 необходимо выполнить команду вида:

/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 необходимо выполнить команду вида:

/opt/cprocsp/bin/amd64/certmgr -list -provtype 80 -provname "Crypto-Pro GOST R 34.10-2012 HSM CSP" -cont '\\.\HSMDB\contname2012'
(31 плюсик(ов))
Класс!
Не очень :(