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

https://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

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


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

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

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

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

Версия утилиты
https://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

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

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

ОС Windows 7, 32 разрядная.
При подписании документа по ГОСТ через командную строку 32 разрядной openssl версией 1.1.1g   возникает ошибка Windows "Прекращена работа программы "OpenSSL application", программа крашится. Такое же подписание на других машинах с 64 разрядной Windows 7 и 64 разрядной openssl  версии 1.1.0l выполняется корректно. библиотеки Рутокена rtengine.dll и rtpkcs11ecp.dll взяты из одного SDK и соответствуют разрядности ОС и разрядности самой утилиты openssl. Подозреваю, что проблема в версии утилиты. У Вас на сайте указано что должна использоваться версия 1.1.0. Не могу найти 32 разрядный установщик openssl для Windows версии 1.1.0. Если у Вас он есть поделитесь пожалуйста или дайте ссылку где можно скачать.

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

Здравствуйте, Artem33.
Спасибо за обращение, нам известно о таком поведении и в следующем релизе мы готовим исправления.

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

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

Здравствуйте, Artem33.
Спасибо за обращение, нам известно о таком поведении и в следующем релизе мы готовим исправления.

Добрый день!

Я правильно понимаю, что проблема общая для 32 разрядной версии Open SSL, и подписание через утилиту версии 1.1.0 ее не решит?

И когда планируется выход релиза с исправлением?

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

Artem33 пишет:

Я правильно понимаю, что проблема общая для 32 разрядной версии Open SSL

Проблема общая для всего релиза(x32,x64).

Artem33 пишет:

И когда планируется выход релиза с исправлением?

Исправления планируем выпустить осенью.

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

Artem33, убедитесь, пожалуйста, что файл конфига в кодировке UTF-8 без BOM