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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline lstef  
#1 Оставлено : 8 августа 2016 г. 15:46:00(UTC)
lstef

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.04.2016(UTC)
Сообщений: 35
Российская Федерация
Откуда: Moscow

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
"Переехал" на другую машину, развернул по новой
java 1.7.0.05
jcp 1.0.54
поставил драйвера для RuToken Lite.

В контрольной панели JCP вижу хранилище RuToken, могу его окрыть с вводом пароля.
При этом приложение работать перестало:
Код:

авг 08, 2016 4:25:11 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 1.0.54 36641
авг 08, 2016 4:25:11 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Exception in thread "main" java.security.UnrecoverableKeyException: Can't connect to 
	at ru.CryptoPro.JCP.KeyStore.s.e(Unknown Source)
	at ru.CryptoPro.JCP.KeyStore.ContainerStore.engineGetKey(Unknown Source)
	at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineGetKey(Unknown Source)
	at java.security.KeyStore.getKey(KeyStore.java:792)
	at Test.main(Test.java:100)
Caused by: java.io.IOException: Can't connect to 
	at rtjlib.JCP.RutokenReader.lock(Unknown Source)
	at ru.CryptoPro.JCP.KeyStore.j.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at ru.CryptoPro.JCP.KeyStore.ContainerStore.a(Unknown Source)
	... 4 more
Java Result: 1

Код, который до этого работал:
Код:

KeyStore keyStoreA = KeyStore.getInstance(SpecUtility.DEFAULT_STORETYPE);
keyStoreA.load(null, null);
PrivateKey privateKey = (PrivateKey) keyStoreA.getKey(SpecUtility.DEFAULT_ALIAS, SpecUtility.DEFAULT_PASSWORD);
X509Certificate cert  = (X509Certificate) keyStoreA.getCertificate(SpecUtility.DEFAULT_ALIAS);


При этом если вывести сам keyStoreA, то видно, что хранилище загрузилось - java.security.KeyStore@73437288
Offline N-N  
#2 Оставлено : 16 ноября 2016 г. 18:34:57(UTC)
N-N

Статус: Участник

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

Есть проблема чтения закрытого ключа в примере, который идет с библиотекой. Файл userSamples\KeyPairGen.java.

На строке
final PrivateKey keyA = (PrivateKey) hdImageStore.getKey(contNameA, passA);
возникает исключение java.security.KeyStore.getKey(Unknown Source). При этом сертификат успешно читается.

В чем может заключаться проблема?
Offline Евгений Афанасьев  
#3 Оставлено : 16 ноября 2016 г. 20:40:34(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Приведите полный стек ошибки.
Offline N-N  
#4 Оставлено : 17 ноября 2016 г. 12:41:21(UTC)
N-N

Статус: Участник

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

ноя 17, 2016 12:14:32 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0 38830
ноя 17, 2016 12:14:32 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Exception in thread "main" java.security.ProviderException
at ru.CryptoPro.JCP.KeyStore.x.m(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.x.a(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.ContainerStore.a(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.ContainerStore.engineGetKey(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineGetKey(Unknown Source)
at java.security.KeyStore.getKey(Unknown Source)
at userSamples.KeyPairGen.main_(KeyPairGen.java:191)
at userSamples.KeyPairGen.main(KeyPairGen.java:131)
Caused by: java.security.PrivilegedActionException: java.io.IOException: java.lang.IllegalArgumentException: length not equals serial length
at java.security.AccessController.doPrivileged(Native Method)
... 8 more
Caused by: java.io.IOException: java.lang.IllegalArgumentException: length not equals serial length
at ru.CryptoPro.JCP.tools.AbstractLicense.<init>(Unknown Source)
at ru.CryptoPro.JCP.tools.License.<init>(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.f.run(Unknown Source)
... 9 more
Caused by: java.lang.IllegalArgumentException: length not equals serial length
at ru.CryptoPro.JCP.tools.AbstractLicense.delSeparators(Unknown Source)
at ru.CryptoPro.JCP.tools.AbstractLicense.a(Unknown Source)
... 12 more

Единственное, в метод main я добавил строку "Security.addProvider(new JCP());" для программной регистрации криптопровайдера.

Что-то связанное с лицензией? Я использую пробную версию, лицензия пока не приобреталась.

Отредактировано пользователем 17 ноября 2016 г. 12:43:34(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#5 Оставлено : 17 ноября 2016 г. 13:19:29(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
1) У вас не 1.0.54, а 2.0 38830;
2) Возможно, проблемы с доступом к серийному номеру при чтении ключа;
Установку производили с помощью скрипта install (команда: install <JRE>) под управлением учетной записи администратора? Какая у вас ОС?
3) Если провайдер установлен правильно, то "Security.addProvider(new JCP());" ни нужен, провайдер и так будет зарегистрирован в <JRE>/lib/security/java.security при установке.
Offline N-N  
#6 Оставлено : 17 ноября 2016 г. 13:41:41(UTC)
N-N

Статус: Участник

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

1) Да. Не хотелось создавать новую тему;
2) Установку не производил, т.к. мне нужно проверить работу в удаленном режиме. Имею в виду, когда например у пользователя запускается апплет и чтобы все работало без установки JCP. Или такое невозможно?
3) Это понятно, но именно из-за второго пункта используется программная регистрация, чтобы работало без установки JCP.
Offline Евгений Афанасьев  
#7 Оставлено : 17 ноября 2016 г. 13:49:40(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Автор: Vtbcb Перейти к цитате
1) Да. Не хотелось создавать новую тему;
2) Установку не производил, т.к. мне нужно проверить работу в удаленном режиме. Имею в виду, когда например у пользователя запускается апплет и чтобы все работало без установки JCP. Или такое невозможно?
3) Это понятно, но именно из-за второго пункта используется программная регистрация, чтобы работало без установки JCP.

Да, так работать не будет - нужна установка.

Offline lstef  
#8 Оставлено : 16 мая 2017 г. 12:54:03(UTC)
lstef

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.04.2016(UTC)
Сообщений: 35
Российская Федерация
Откуда: Moscow

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
Опять такая же печаль и не могу вспомнить в чём было дело :(((
Код:

                System.out.println(CRYPTO_PROVIDER);
		DigitalSignatureFactory.init(CRYPTO_PROVIDER);
		///////
		KeyStore keyStoreA = KeyStore.getInstance(SpecUtility.DEFAULT_STORETYPE);
		keyStoreA.load(null, null);
		System.out.println(keyStoreA);
		System.out.println(keyStoreA.aliases().toString());
		System.out.println(keyStoreA.isCertificateEntry(SpecUtility.DEFAULT_ALIAS));
		System.out.println(keyStoreA.isKeyEntry(SpecUtility.DEFAULT_ALIAS));
		System.out.println(keyStoreA.size());
		X509Certificate cert = (X509Certificate) keyStoreA.getCertificate(SpecUtility.DEFAULT_ALIAS);
		System.out.println(cert);
		PrivateKey privateKey = (PrivateKey) keyStoreA.getKey(SpecUtility.DEFAULT_ALIAS, SpecUtility.DEFAULT_PASSWORD);

а на выходе
Цитата:

май 16, 2017 1:43:46 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 1.0.54 36641
май 16, 2017 1:43:46 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
java.security.KeyStore@39b5b441
java.util.Collections$2@47598095
false
false
0
null
Exception in thread "main" java.security.UnrecoverableKeyException: Can't connect to
at ru.CryptoPro.JCP.KeyStore.s.e(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.ContainerStore.engineGetKey(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineGetKey(Unknown Source)
at java.security.KeyStore.getKey(KeyStore.java:792)
at Test.initMessageExchangeEndpoint(Test.java:265)
at Test.main(Test.java:90)
Caused by: java.io.IOException: Can't connect to
at rtjlib.JCP.RutokenReader.lock(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.j.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at ru.CryptoPro.JCP.KeyStore.ContainerStore.a(Unknown Source)
... 5 more
Java Result: 1
Offline lstef  
#9 Оставлено : 30 мая 2017 г. 10:56:50(UTC)
lstef

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.04.2016(UTC)
Сообщений: 35
Российская Федерация
Откуда: Moscow

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
В общем всё решилось "итеративной переустановкой".
Есть подозрение, что в первый раз было то же самое, только я уже забыл.

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