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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline tsvid  
#1 Оставлено : 26 октября 2016 г. 17:59:28(UTC)
tsvid

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

Группы: Участники
Зарегистрирован: 25.10.2016(UTC)
Сообщений: 6
Украина
Откуда: Kiev

Сказал(а) «Спасибо»: 1 раз
Добрый день.

На основе примера CMSDecrypt написал свою процедуру, но при вызове

Код:
String agreeAlgorithm = JCP.GOST_EL_DEGREE_NAME; //GOST_EL_DH_NAME;
String cryptProviderName = CryptoProvider.PROVIDER_NAME;
...
final KeyAgreement responderKeyAgree = KeyAgreement.getInstance(agreeAlgorithm, cryptProviderName);

получаю ошибку
Код:
Error constructing implementation (algorithm: GOST3410EL, provider: Crypto, class: ru.CryptoPro.Crypto.Key.KeyAgreement)


JCP.tools.Check:


В чем может быть проблема?

Спасибо.
Offline Евгений Афанасьев  
#2 Оставлено : 27 октября 2016 г. 10:26:05(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Здравствуйте.
Вызывайте с GOST_EL_DH_NAME, вероятно, только он зарегистрирован для KeyAgreement (видимо, у вас версия 1.0).
Offline tsvid  
#3 Оставлено : 27 октября 2016 г. 11:52:47(UTC)
tsvid

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

Группы: Участники
Зарегистрирован: 25.10.2016(UTC)
Сообщений: 6
Украина
Откуда: Kiev

Сказал(а) «Спасибо»: 1 раз
Добрый день.
Код:
Error constructing implementation (algorithm: GOST3410DHEL, provider: Crypto, class: ru.CryptoPro.Crypto.Key.KeyAgreement)
java.security.Provider$Service.newInstance(Provider.java:1617)
sun.security.jca.GetInstance.getInstance(GetInstance.java:236)
javax.crypto.JceSecurity.getInstance(JceSecurity.java:104)
javax.crypto.KeyAgreement.getInstance(KeyAgreement.java:230)


Цитата:
-PROVIDERS-
prov[0] = SUN version 1.8
prov[1] = SunRsaSign version 1.8
prov[2] = SunEC version 1.8
prov[3] = SunJSSE version 1.8
prov[4] = SunJCE version 1.8
prov[5] = SunJGSS version 1.8
prov[6] = SunSASL version 1.8
prov[7] = XMLDSig version 1.8
prov[8] = SunPCSC version 1.8
prov[9] = SunMSCAPI version 1.8
prov[10] = JCP version 2.0
prov[11] = RevCheck version 2.0
prov[12] = Crypto version 2.0
prov[13] = JCSP version 4.0

-JAR VERSIONS-
C:\Program Files\Java\jre1.8.0_91\lib\ext\asn1rt.jar build 0.0.0 version 0.0
C:\Program Files\Java\jre1.8.0_91\lib\ext\ASN1P.jar build 38830 version 2.0
C:\Program Files\Java\jre1.8.0_91\lib\ext\forms_rt.jar build 0.0.0 version 0.0
C:\Program Files\Java\jre1.8.0_91\lib\ext\JCP.jar build 38830 version 2.0
C:\Program Files\Java\jre1.8.0_91\lib\ext\JCPinst.jar build 38830 version 2.0
C:\Program Files\Java\jre1.8.0_91\lib\ext\JCPRequest.jar build 38830 version 2.0
C:\Program Files\Java\jre1.8.0_91\lib\ext\JCPxml.jar build 38830 version 2.0
C:\Program Files\Java\jre1.8.0_91\lib\ext\JCryptoP.jar build 38830 version 2.0
C:\Program Files\Java\jre1.8.0_91\lib\ext\XMLDSigRI.jar build 38830 version 2.0
C:\Program Files\Java\jre1.8.0_91\lib\ext\JCPRevCheck.jar build 38830 version 2.0
C:\Program Files\Java\jre1.8.0_91\lib\ext\JCSP.jar build 38830 version 4.0
Offline Евгений Афанасьев  
#4 Оставлено : 27 октября 2016 г. 12:33:17(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Не удается воспроизвести - с этой версией оба варианта работают (эти алгоритмы зарегистрированы). Проверьте, может быть у вас установлено несколько jre и запуск выполняется не в той.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
tsvid оставлено 27.10.2016(UTC)
Offline tsvid  
#5 Оставлено : 27 октября 2016 г. 16:05:01(UTC)
tsvid

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

Группы: Участники
Зарегистрирован: 25.10.2016(UTC)
Сообщений: 6
Украина
Откуда: Kiev

Сказал(а) «Спасибо»: 1 раз
Таки да. Теперь заработало.
Спасибо.

Теперь вопрос в другом.
При вызове
Код:
responderKeyAgree.init(privateKey, new IvParameterSpec(sv), null);

получаю
Код:
java.security.InvalidKeyException: Параметры ключа не соответствуют алгоримам подписи ГОСТ и обмена Диффи-Хелмана
	at ru.CryptoPro.Crypto.Key.KeyAgreement.engineInit(Unknown Source)
	at javax.crypto.KeyAgreement.init(KeyAgreement.java:533)


Перепробовал все алгоритмы из Crypto. Для всех одна и та же ошибка.
Может ли быть проблема в самом ключе (VipNet CSP (infotecs) - может проблема в этом?):
Цитата:
algorithmIdentifier 1.2.643.2.2.98
algorithmName "GOST3410-2001DH"
paramSet id-GostR3410-2001-CryptoPro-XchA-ParamSet
Offline Евгений Афанасьев  
#6 Оставлено : 28 октября 2016 г. 9:27:16(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
А что у вас в privateKey? Объект какого класса?
Offline tsvid  
#7 Оставлено : 28 октября 2016 г. 9:57:04(UTC)
tsvid

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

Группы: Участники
Зарегистрирован: 25.10.2016(UTC)
Сообщений: 6
Украина
Откуда: Kiev

Сказал(а) «Спасибо»: 1 раз
ru.infotecs.crypto.gost3410.GostR341001PrivateKey
Offline Евгений Афанасьев  
#8 Оставлено : 28 октября 2016 г. 10:11:13(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Тогда понятно - чтобы принялся в JCP, должен быть ru.CryptoPro...GostPrivateKey (в init() проверка на instanceof). Для этого ключ надо прочитать средствами JCP.

Отредактировано пользователем 28 октября 2016 г. 10:11:55(UTC)  | Причина: Не указана

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