Запрос на сертификат для ГОСТ Р 34.10-2012

Добрый день.

Имею в наличии Rutoken ECP 2.0. Есть необходимость создать запрос на сертификат для ГОСТ Р 34.10-2012.
В SDK PKCS#11 есть пример создания запроса на сертификат только для ГОСТ Р 34.10-2001, который у меня успешно собирается и отрабатывает. Следуя этому примеру, я сгенерировал ключевую пару для ГОСТ Р 34.10-2012, однако C_EX_CreateCSR() возвращает 0x00000063 (CKR_KEY_TYPE_INCONSISTENT).

Нет ли рабочего примера генерации запроса для ГОСТ Р 34.10-2012?

(2016-12-28 13:21:21 отредактировано Анатолий Убушаев)

Re: Запрос на сертификат для ГОСТ Р 34.10-2012

Добрый день, perchits!

На данный момент в библиотека rtPKCS11ECP отсутствует функция C_EX_CreateCSR для ГОСТ Р 34.10-2012.
Реализация планируется к середине года.
А в данном случае рекомендуем воспользоваться другими способами формирования запросов, а из библиотеки rtPKCS11ECP использовать функции хеширования и подписи.

Re: Запрос на сертификат для ГОСТ Р 34.10-2012

Спасибо.

Re: Запрос на сертификат для ГОСТ Р 34.10-2012

Добрый день.
Судя по тому, что ошибка
C_EX_CreateCSR error CKR_KEY_TYPE_INCONSISTENT
повторяется в библиотеке 1.6.3.0 от 29.08.2017 - пока нет решения по созданию запроса на сертификат для ключей ГОСТ Р 34.10-2012 ?
Пока такого решения нет - работать через OpenSSL API ?

Re: Запрос на сертификат для ГОСТ Р 34.10-2012

Добрый день, alexey.sintsov и perchits!
В новой версии нашего SDK появился пример создания запроса CreateCSR-PKCS10-2012 в /pkcs11/samples/PKIExtensions

Re: Запрос на сертификат для ГОСТ Р 34.10-2012

Добрый день.
С использованием sdk-290817-cfdb9f.zip при установленных в системе драйверах версии 4.2.5.0 (версия rtPKCS11ECP.dll 1.6.4.0) программа CreateCSR-PKCS10-2012 выводит следующий результат:

Initialization...
LoadLibrary -> OK
GetProcAddress (C_GetFunctionList) -> OK
GetProcAddress (C_EX_GetFunctionListExtended) -> OK
Get function list -> OK
Get function list extended -> OK
C_Initialize -> OK
C_GetSlotList (number of slots) -> OK
Checking available tokens -> OK
Memory allocation for slots -> OK
C_GetSlotList -> OK
Slots available: 1
C_GetMechanismList (number of mechanisms) -> OK
Checking mechanisms available -> OK
Memory allocation for mechanisms -> OK
C_GetMechanismList -> OK
Checking CKM_GOSTR3410_KEY_PAIR_GEN support -> OK
Checking CKM_GOSTR3411_12_256 support -> OK
C_OpenSession -> OK
C_Login -> OK
Initialization has been completed successfully.

Creating CSR...
C_GenerateKeyPair -> OK
C_EX_CreateCSR -> Failed
CKR_ARGUMENTS_BAD
C_Logout -> OK
C_CloseSession -> OK
C_Finalize -> OK
FreeLibrary -> OK


Some error occurred. Sample failed.

При этом в контрольной панели видно, что ключи на токене создаются с метками 256 бит, но в описании ключей написано "512 бит"

Re: Запрос на сертификат для ГОСТ Р 34.10-2012

alexey.sintsov, данную ошибку нами воспроизвести не удалось, т.к. инициализация завершается успешно.
Подскажите пожалуйста, не вносились ли изменения в данный код?

Re: Запрос на сертификат для ГОСТ Р 34.10-2012

Проблема оказалась в том, что при очередном copy-paste поехала кодировка у исходника.
На нее и ругается функция.