Статус: Новичок
Группы: Участники
Зарегистрирован: 05.11.2014(UTC) Сообщений: 3 Откуда: Пермь Сказал(а) «Спасибо»: 1 раз
|
В приложении реализовано шифрование и работа с ЭЦП с помощью CAdES API (jcp-2.0.37748) Возникла проблема только с функцией шифрования. Один и тотже код работает без ошибок в консольном приложении и юнит тестах. Но не работает в приложении запущенном на Jetty или WebSphere. При вызове функции signature.open(envelopedByteArrayOutStream) возникает ошибка: Цитата: Caused by: ru.CryptoPro.CAdES.exception.b: Unknown private key format at ru.CryptoPro.CAdES.a.b.<init>(Unknown Source) at ru.CryptoPro.CAdES.EnvelopedSignature.open(Unknown Source)
Пробовал генерировать ключи на ходу с помощью KeyPairGenerator, результат тот же.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,927 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 691 раз в 652 постах
|
Здравствуйте. Попробуйте вывести содержимое ключей в строку. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 05.11.2014(UTC) Сообщений: 3 Откуда: Пермь Сказал(а) «Спасибо»: 1 раз
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,927 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 691 раз в 652 постах
|
JCP и CAdES действительно указанной версии при выполнении примера? Ключ просто проходит проверку на instanceof. |
|
1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 05.11.2014(UTC) Сообщений: 3 Откуда: Пермь Сказал(а) «Спасибо»: 1 раз
|
Да, JCP и CAdES указанной версии. Установлены в JRE. Ошибка появилась из за того что данные библиотеки были включены в приложение (чтобы другие разработчики, которые не занимаются шифрованием, могли собирать проект без установки JCP и CAdES в JRE). По какой-то причине они не исключались градлом из конечного war файла. В результате instanceof сравнивал классы разных класслоадеров и возвращал false. Ключ был экземпляром класса загруженого класслоадером приложения, а сравнивался с классом загруженного класслоадером JRE.
Исправил ошибку с включением библиотек в war файл. Проблема исчезла.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close