Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Dinis_S  
#1 Оставлено : 19 октября 2020 г. 13:16:06(UTC)
Dinis_S

Статус: Новичок

Группы: Участники
Зарегистрирован: 02.10.2020(UTC)
Сообщений: 5

При попытке извлечь приватный ключ

public PrivateKey getPrivateKey() throws CryptoContainerException {
try {
return (PrivateKey) keyStore.getKey(alias, password.toCharArray());
} catch (Exception e) {
throw new CryptoContainerException(e.getMessage());
}
}

выходит ошибка

Caused by: java.lang.NoSuchFieldError: primaryPrivateKeyParameters
at ru.CryptoPro.JCP.KeyStore.cl_4.a(Unknown Source) ~[JCP.jar:40621-A]
at ru.CryptoPro.JCP.KeyStore.cl_4.s(Unknown Source) ~[JCP.jar:40621-A]
at ru.CryptoPro.JCP.KeyStore.cl_4.<init>(Unknown Source) ~[JCP.jar:40621-A]
at ru.CryptoPro.JCP.KeyStore.ContainerStore.a(Unknown Source) ~[JCP.jar:40621-A]
at ru.CryptoPro.JCP.KeyStore.ContainerStore.engineGetKey(Unknown Source) ~[JCP.jar:40621-A]
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineGetKey(Unknown Source) ~[JCP.jar:40621-A]
at java.base/java.security.KeyStore.getKey(KeyStore.java:1057) ~[na:na]
at ru.ibs.crypto.pvso.container.CryptoContainer.getPrivateKey(CryptoContainer.java:205) ~[classes/:na]
Offline Евгений Афанасьев  
#2 Оставлено : 19 октября 2020 г. 14:03:58(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,924
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 690 раз в 651 постах
Здравствуйте.
Библиотеки ASN1P.jar, asn1rt.jar подключены? Где был создан контейнер?
Offline Dinis_S  
#3 Оставлено : 19 октября 2020 г. 14:09:53(UTC)
Dinis_S

Статус: Новичок

Группы: Участники
Зарегистрирован: 02.10.2020(UTC)
Сообщений: 5

Здравствуйте!
да, билиблиотеки подключены.
контейнер создан таким образом:

public void loadKeyStore()
throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException {
LOGGER.debug("Инициализирую контейнер ключей типа " + storetype);
Security.addProvider(new JCP());
Security.addProvider(new CryptoProvider());
keyStore = KeyStore.getInstance(storetype);
LOGGER.debug("Открываю контейнер ключей");
keyStore.load(null, password.toCharArray());
}

Offline Евгений Афанасьев  
#4 Оставлено : 19 октября 2020 г. 14:11:33(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,924
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 690 раз в 651 постах
Какое значение у storetype?
Offline Dinis_S  
#5 Оставлено : 19 октября 2020 г. 14:14:05(UTC)
Dinis_S

Статус: Новичок

Группы: Участники
Зарегистрирован: 02.10.2020(UTC)
Сообщений: 5

HDImageStore
Offline Евгений Афанасьев  
#6 Оставлено : 19 октября 2020 г. 14:15:51(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,924
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 690 раз в 651 постах
Автор: Dinis_S Перейти к цитате

public void loadKeyStore()
throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException {
LOGGER.debug("Инициализирую контейнер ключей типа " + storetype);
Security.addProvider(new JCP());
Security.addProvider(new CryptoProvider());
keyStore = KeyStore.getInstance(storetype);
LOGGER.debug("Открываю контейнер ключей");
keyStore.load(null, password.toCharArray());
}

Это инициализация для чтения, а не создания.
return (PrivateKey) keyStore.getKey(alias, password.toCharArray()); - это чтение. Сам контейнер alias с паролем password где был создан, какими средствами?

Offline Dinis_S  
#7 Оставлено : 19 октября 2020 г. 14:23:56(UTC)
Dinis_S

Статус: Новичок

Группы: Участники
Зарегистрирован: 02.10.2020(UTC)
Сообщений: 5

Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.
Библиотеки ASN1P.jar, asn1rt.jar подключены? Где был создан контейнер?


После этого сообщения еще раз переподключил библиотеки другим способом и все заработало.
Спасибо Вам большое!!
Offline Евгений Афанасьев  
#8 Оставлено : 19 октября 2020 г. 14:45:27(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,924
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 690 раз в 651 постах
Скорее всего, asn1rt или/и ASN1P не были подключены, это в них декодирование структуры ключа и то поле.
Offline Dinis_S  
#9 Оставлено : 19 октября 2020 г. 14:51:20(UTC)
Dinis_S

Статус: Новичок

Группы: Участники
Зарегистрирован: 02.10.2020(UTC)
Сообщений: 5

да. проблема была именно в этом.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.