Не работает Рутокен на удаленном сервере.
Добрый день!
Краткое описание проблемы:
1. Имеется локальный удостоверяющий центр на основе openSSL, который физически находится на удаленном сервере.
2. Через Рутокен плагин создаю запрос на сертификат и сохраняю в файл "user.csr".
3. Выполняю команду создания сертификата через командную строку: openssl ca -engine rtengine -batch -in user.csr -out user.crt, все работает. Эта команда записана в файле createUserCrt.cmd
4. Пишу java программу в файле test.java, который запускает файл createUserCrt.cmd, все работает.
5. Пишу ту же логику в своем проекте, который упаковывается в war файл и запускается через tomcat. -> выдается ошибка "unable to load private key":
unable to load CA private key
3408:error:0609E09C:digital envelope routines:pkey_set_type:unsupported algorithm:crypto\evp\p_lib.c:210:
3408:error:0606F076:digital envelope routines:EVP_PKCS82PKEY:unsupported private key algorithm:crypto\evp\evp_pkey.c:36:TYPE=GOST R 34.10-2012 with 256 bit modulus
3408:error:0907B00D:PEM routines:PEM_read_bio_PrivateKey:ASN1 lib:crypto\pem\pem_pkey.c:88:
6. При этом этот проект, когда запущен на рабочей локальной машине, работает отлично и никаких ошибок не возникает.
7. Такое предположение, что при запуске tomcat на удаленной машине, не подключаются алгоритмы из файла rtengine.dll, который подключается в файле openssl.cfg. Так как rtengine.dll работает только при подключенном Рутокене к компьютеру, возможно удаленная машина перестает видеть это подключение при запущенном приложении в tomcat? Есть ли какая-то возможность заставить работать rtengine.dll без подключения Рутокена к компьютеру?
Очень надеюсь на помощь!Подскажите пожалуйста, чем может быть проблема???
Спасибо огромное!