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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Mikhail Kislovskiy  
#1 Оставлено : 6 июня 2019 г. 11:18:24(UTC)
Mikhail Kislovskiy

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

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

Добрый день, коллеги.

Скачал и установил JCP и JCSP, порылся в примерах и документации и решил воплотить в жизнь пример: SignAndVerify.java
но столкнулся с проблемой следующего характера: GOST3410EPH_2012_256 KeyPairGenerator not available

Так же установлен КриптоПро CSP, работоспособность которого проверена через КриптоПро .Net с заранее установленным сертификатом.

Проверить работоспособность JCP при помощи класса ComLine или функции CheckConf не получается из-за того что почему-то консоль отвечает что main class ComLine not found.

Собственно вопрос, как всё таки запустить пример?

Использую связку Java SE 12, JDK 12.0.1 и JRE 1.8.0_211.
Offline gysek  
#2 Оставлено : 9 июня 2019 г. 13:21:35(UTC)
gysek

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

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

Попробуйте проверить наличие:

Provider[] provider = Security.getProviders();

for (int i = 0; i < provider.length; i++) {
System.out.println("========================= "+provider[i].getName()+" ===================================");
Set<Service> service = provider[i].getServices();
Iterator<Service> iter = service.iterator();
while (iter.hasNext()) {
Service s = iter.next();
System.out.println(s.getClassName()+"---------- "+ s.getType() +" ---- "+s.getAlgorithm());

}
System.out.println("");
System.out.println("");
}
Offline Евгений Афанасьев  
#3 Оставлено : 10 июня 2019 г. 9:52:19(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.
Автор: Mikhail Kislovskiy Перейти к цитате

Скачал и установил JCP и JCSP, порылся в примерах и документации и решил воплотить в жизнь пример: SignAndVerify.java
но столкнулся с проблемой следующего характера: GOST3410EPH_2012_256 KeyPairGenerator not available

Так же установлен КриптоПро CSP, работоспособность которого проверена через КриптоПро .Net с заранее установленным сертификатом.

Проверить работоспособность JCP при помощи класса ComLine или функции CheckConf не получается из-за того что почему-то консоль отвечает что main class ComLine not found.

Собственно вопрос, как всё таки запустить пример?

Использую связку Java SE 12, JDK 12.0.1 и JRE 1.8.0_211.

Какой провайдер используется по умолчанию (в Алгоритмах в панели JCP или в списке провайдеров в java.security)?
Как запускаете пример, который выдает "main class ComLine not found"? Видимо, неправильно заданы аргументы в командной строке.



Offline Mikhail Kislovskiy  
#4 Оставлено : 10 июня 2019 г. 14:47:21(UTC)
Mikhail Kislovskiy

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

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

Автор: gysek Перейти к цитате
Попробуйте проверить наличие:

Provider[] provider = Security.getProviders();

for (int i = 0; i < provider.length; i++) {
System.out.println("========================= "+provider[i].getName()+" ===================================");
Set<Service> service = provider[i].getServices();
Iterator<Service> iter = service.iterator();
while (iter.hasNext()) {
Service s = iter.next();
System.out.println(s.getClassName()+"---------- "+ s.getType() +" ---- "+s.getAlgorithm());

}
System.out.println("");
System.out.println("");
}


Вы правы intellij IDEA не видит провайдер. Список которых мне вернул ваш код таков:SUN, SunRsaSign, SunEC, SunJSSE, SunJCE, SunJGSS, SunSASL, XMLDSig, SunPCSC, JdkLDAP, JdkSASL, SunMSCAPI.

Каким образом можно заставить ide увидеть jcp провайдер?

Offline Евгений Афанасьев  
#5 Оставлено : 10 июня 2019 г. 16:06:32(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Убедитесь, что ide запускает код в той java, где установлен jcp.
Offline Mikhail Kislovskiy  
#6 Оставлено : 10 июня 2019 г. 16:12:09(UTC)
Mikhail Kislovskiy

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

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

Автор: Евгений Афанасьев Перейти к цитате
Убедитесь, что ide запускает код в той java, где установлен jcp.


Да вроде всё где надо запускается jre версию одну и ту же указывал что при установке jcp, что при работе в ide.

Попробовал добавить провайдер вручную Security.addProvider(new ru.CryptoPro.JCP.JCP());
но получаю ряд ошибок:

июн. 10, 2019 3:58:17 PM java.util.prefs.WindowsPreferences <init>
WARNING: Could not create windows registry node Software\JavaSoft\Prefs\ru\/Crypto/Pro\/J/C/P\/Key/Store at root 0xffffffff80000002. Windows RegCreateKeyEx(...) returned error code 5.
Offline Евгений Афанасьев  
#7 Оставлено : 10 июня 2019 г. 16:15:34(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Автор: Mikhail Kislovskiy Перейти к цитате
Java SE 12, JDK 12.0.1 и JRE 1.8.0_211

Какая версия все-таки используется (java 8 или java 12)?
Для разных версий предполагается разная версия JCP - 2.0 для java 8 или 2.0-А для java 12.
Они работают по-разному: 2.0 надо ставить в java 8, 2.0-А - не надо устанавливать в java 12, ее следует добавлять с помощью addProvider (об этом в документации).
Could not create windows - не ошибка, а, скорее, предупреждение об ограничении прав к preferences.

Offline Mikhail Kislovskiy  
#8 Оставлено : 10 июня 2019 г. 16:19:57(UTC)
Mikhail Kislovskiy

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

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

Автор: Евгений Афанасьев Перейти к цитате

Какая версия все-таки используется (java 8 или java 12)?


Используется 8ая версия.
Offline Евгений Афанасьев  
#9 Оставлено : 10 июня 2019 г. 16:25:27(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Тогда в нее должен быть установлен jcp. При запуске кода, использующего jcp, из lib/ext запущенной java будет загружен провайдер и все остальное.
Offline Mikhail Kislovskiy  
#10 Оставлено : 10 июня 2019 г. 16:29:02(UTC)
Mikhail Kislovskiy

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

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

Автор: Евгений Афанасьев Перейти к цитате
Тогда в нее должен быть установлен jcp. При запуске кода, использующего jcp, из lib/ext запущенной java будет загружен провайдер и все остальное.


Я понимаю, но при запуске простой строки когда:
MessageDigest digest = MessageDigest.getInstance(JCP.GOST_DIGEST_NAME,
JCP.PROVIDER_NAME);

С необходимыми импортами выдается ошибка:
Exception in thread "main" java.security.NoSuchProviderException: no such provider: JCP
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.