Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.02.2015(UTC) Сообщений: 37 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Санкт-Петербург Сказал(а) «Спасибо»: 7 раз
|
Здравствуйте! Использую jcp 1.0.54. Подписываю в формате CAdES_BES. Локально подпись создается (использую тот же приватный ключ, что и на тестовом сервере). Выкладываю на тестовый сервер: при попытке подписать падает с ошибкой InvalidKeyException вот тут: Код:PrivateKey key = (PrivateKey) keyStore.getKey(keyName, keyPassword.toCharArray());
Код:Caused by: java.security.InvalidKeyException: null
at ru.CryptoPro.JCP.Key.GostPrivateKey.a(Unknown Source)
at ru.CryptoPro.JCP.Sign.b.engineInitSign(Unknown Source)
at java.security.Signature.initSign(Signature.java:511)
KeyStore создаю так: Код:public synchronized void initStore() {
try {
keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME, JCP.PROVIDER_NAME);
final String hdImageStoreDir = propertyResolver.getProperty("hdImageStoreDir");
HDImageStore.setDir(hdImageStoreDir);
keyStore.load(null, null);
} catch (Exception e) {
LOG.error("Cant init key store: {}", e.getMessage());
}
}
Так же в логах присутствует WARNING: Код:WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: java.io.FileNotFoundException: /etc/.java/.systemPrefs/ru/CryptoPro/JCP/KeyStore/HDImage/prefs.tmp (Permission denied)
Отредактировано пользователем 8 сентября 2015 г. 16:29:27(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Здравствуйте. 1) убедитесь, что контейнер существует и доступен при запуске панели JCP под управлением учетной записи указанного пользователя, т.к. контейнеры хранятся раздельно для каждого пользователя. 2) InvalidKeyException: null - вероятно, контейнер не обнаружен. Для того, чтобы выяснить, какие контейнеры доступны, можно использовать перечисление keyStore.aliases(). 3) HDImageStore.setDir(hdImageStoreDir); нужно делать перед работой с хранилищами, т.к. после KeyStore.getInstance() параметры уже могут быть загружены. Кроме того, нужны права администратора для задания папки таким способом или в панели JCP на закладке "Hardware". |
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
vas239 оставлено 11.09.2015(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.02.2015(UTC) Сообщений: 37 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Санкт-Петербург Сказал(а) «Спасибо»: 7 раз
|
Автор: afev ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Здравствуйте. 1) убедитесь, что контейнер существует и доступен при запуске панели JCP под управлением учетной записи указанного пользователя, т.к. контейнеры хранятся раздельно для каждого пользователя. 2) InvalidKeyException: null - вероятно, контейнер не обнаружен. Для того, чтобы выяснить, какие контейнеры доступны, можно использовать перечисление keyStore.aliases(). 3) HDImageStore.setDir(hdImageStoreDir); нужно делать перед работой с хранилищами, т.к. после KeyStore.getInstance() параметры уже могут быть загружены. Кроме того, нужны права администратора для задания папки таким способом или в панели JCP на закладке "Hardware". Проблема оказалась в том, что истекла лицензия на JCP. Обновила лицензию и все заработало! Спасибо)
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close