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
При этом, если я выполняю команду подписания дайджеста, то ошибки не возникает, после ввода пина ключа происходит формирование файла с "чистой" подписью
openssl dgst -keyform engine -sign "pkcs11:model=Rutoken%20ECP;id=191212102357-007706196340" -engine rtengine -out signature data_to_sign.txt
Вообще мне нужно получить документ подписанный неоткрепленной подписью по ГОСТ 2012.
Сертификат:
Содержимое рутокена:
Версия утилиты
Очень надеюсь на вашу помощь в этом вопросе, так как перерыл интернет, но не смог найти решение этой проблемы.