Re: Поддержка Рутокен ЭЦП в OpenSSL

Здравствуйте!

Пытаюсь настроить OpenSSL в WINDOS x64 для подписания с ключами по ГОСТ 2012. В инструкции по установке и конфигурированию https://dev.rutoken.ru/pages/viewpage.a … d=15728731 указаны библиотеки:

[gost_section]
dynamic_path = C:/openssl/engines/gost.dll

[pkcs11_section]
dynamic_path = C:/openssl/engines/pkcs11_gost.dll

В Вашем SDK они отсутствуют, где их можно взять?

И еще момент, в первом посте этой темы есть ссылка на актуальную инструкцию, которая открывает форму авторизации. Логин и пароль от этого форума там не подходят. Как можно посмотреть актуальную инструкцию?

Re: Поддержка Рутокен ЭЦП в OpenSSL

Здравствуйте.
Для интеграции ГОСТ 2012 с Рутокен ЭЦП и OpenSSL нужно пользоваться инструкцией по ссылке.

Artem33 пишет:

И еще момент, в первом посте этой темы есть ссылка на актуальную инструкцию, которая открывает форму авторизации.

Данная инструкция устарела.

Re: Поддержка Рутокен ЭЦП в OpenSSL

Николай Киблицкий пишет:

Здравствуйте.
Для интеграции ГОСТ 2012 с Рутокен ЭЦП и OpenSSL нужно пользоваться инструкцией по ссылке.

Artem33 пишет:

И еще момент, в первом посте этой темы есть ссылка на актуальную инструкцию, которая открывает форму авторизации.

Данная инструкция устарела.

Здравствуйте!

Установил драйвера Рутокен, установил OpenSSL. По указанной Вами инструкции скопировал из SDK библиотеки в папку с openssl и добавил путь к ним в файл конфигурации вместе с остальными параметрами:

[gost_section]
dynamic_path = c:\OpenSSL-Win64\bin\rtengine.dll
MODULE_PATH = c:\OpenSSL-Win64\bin\rtpkcs11ecp.dll

При попытке сформировать ключевую пару ГОСТ в файл командой:
openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out seckey.pem

возникает ошибка: Algoritm gost2012_256 not found. В чем может быть причина ошибки?

Re: Поддержка Рутокен ЭЦП в OpenSSL

Artem33 пишет:

возникает ошибка: Algoritm gost2012_256 not found. В чем может быть причина ошибки?

Какая у вас модель токена?

Re: Поддержка Рутокен ЭЦП в OpenSSL

В пути до библиотек нужно использовать прямой слеш, например:
dynamic_path = C:/OpenSSL-Win64/rtengine.dll

MODULE_PATH = C:/OpenSSL-Win64/rtpkcs11ecp.dll

Re: Поддержка Рутокен ЭЦП в OpenSSL

Николай Киблицкий пишет:

В пути до библиотек нужно использовать прямой слеш, например:
dynamic_path = C:/OpenSSL-Win64/rtengine.dll

MODULE_PATH = C:/OpenSSL-Win64/rtpkcs11ecp.dll

Здравствуйте!

Заменил обратный слеш на прямой и получилось создать закрытый ключ.

(2020-02-02 23:16:54 отредактировано Artem33)

Re: Поддержка Рутокен ЭЦП в OpenSSL

Artem33 пишет:
Николай Киблицкий пишет:

В пути до библиотек нужно использовать прямой слеш, например:
dynamic_path = C:/OpenSSL-Win64/rtengine.dll

MODULE_PATH = C:/OpenSSL-Win64/rtpkcs11ecp.dll

Здравствуйте!

Заменил обратный слеш на прямой и получилось создать закрытый ключ.


Здравствуйте!

Теперь у меня проблема с подписанием документов утилитой openssl. Есть Рутокен ЭЦП 2.0 (2000), на нем находится личный сертификат и две неэкспртируемые ключевые пары. Сертификат валидный, цепочка для него тоже. Пытаюсь подписать документ cms подписью:
openssl cms -sign -binary -nosmimecap -in data_to_sign.txt -out signed_cms.txt -outform PEM -keyform engine -inkey "pkcs11:model=Rutoken%20ECP;id=191212102357-007706196340" -engine rtengine -signer Rosteh.cer

Так как необходимо указать сертификат (без ключа -signer у меня возникает ошибка), я экспортировал с рутокена личный сертификат в файл -signer Rosteh.cer

При выполнении команды возникает ошибка:
engine "rtengine" set.
unable to load certificate
2996:error:0906D06C:PEM routines:PEM_read_bio:no start line:crypto\pem\pem_lib.c:686:Expecting: TRUSTED CERTIFICATE

http://forum.rutoken.ru/uploads/images/2020/02/5c68cb4af7a0cf1126a4574dc9962a2d.png

При этом, если я выполняю команду подписания дайджеста, то ошибки не возникает, после ввода пина ключа происходит формирование файла с "чистой" подписью

openssl dgst -keyform engine -sign "pkcs11:model=Rutoken%20ECP;id=191212102357-007706196340" -engine rtengine -out signature data_to_sign.txt

http://forum.rutoken.ru/uploads/images/2020/02/760c8457fbf59a342df6fd81637ac0f4.png


Вообще мне нужно получить документ подписанный неоткрепленной подписью по ГОСТ 2012.

Сертификат:
http://forum.rutoken.ru/uploads/images/2020/02/6cf980aa4e53f94759c8d1c45512d176.png

http://forum.rutoken.ru/uploads/images/2020/02/d83931838a587e0253aa9952d6c466de.png

Содержимое рутокена:
http://forum.rutoken.ru/uploads/images/2020/02/cdbee7bbef0cba1642c452e2ab4eb631.png

Версия утилиты
http://forum.rutoken.ru/uploads/images/2020/02/03a147909718738e3673b07888459815.png

Очень надеюсь на вашу помощь в этом вопросе, так как перерыл интернет, но не смог найти решение этой проблемы.

Re: Поддержка Рутокен ЭЦП в OpenSSL

Здравствуйте.
Извините за долгий ответ, пытаемся воспроизвести и протестировать вашу ситуацию.

Re: Поддержка Рутокен ЭЦП в OpenSSL

Николай Киблицкий пишет:

Здравствуйте.
Извините за долгий ответ, пытаемся воспроизвести и протестировать вашу ситуацию.

Добрый вечер, если необходимо, готов предоставить дополнительные данные для этого.

Re: Поддержка Рутокен ЭЦП в OpenSSL

Вам нужно перекодировать сертификат из DER в кодировку PEM, например:

openssl x509 -in Rosteh.der -inform der -outform pem -out cert.pem