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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline slider78  
#1 Оставлено : 13 января 2020 г. 16:34:58(UTC)
slider78

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

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


Приветствую

у меня есть сертификат в файле my.cer c публичным ключом (формат x.509, алгоритм ECGOST3410-2012)
мне необходимо поместить его в какое-нибудь хранилище, где я мог бы его видеть через JCP (KeyStore keyStore = KeyStore.getInstance (...))

например в HDImageStore
пытаюсь это сделать при помощи утилиты keytool от JDK11

jre\bin\keytool.exe -importcert -alias my-alias -provider ru.CryptoPro.JCP.JCP -keypass 12345 -storetype HDImageStore -keystore NONE -storepass 12345 -file my.cer -J-Xbootclasspath/a:java-csp-5.0.40363-A\JCP.jar

получаю вывод

янв. 10, 2020 11:04:05 AM ru.CryptoPro.JCP.tools.SelfTester a
WARNING: ERROR
ru.CryptoPro.JCP.tools.SelfTesterException: SelfTester Error: tester initialization is incorrect
at ru.CryptoPro.JCP.tools.SelfTester.a(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.<init>(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.<clinit>(Unknown Source)
at ru.CryptoPro.JCP.tools.Starter.check(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineLoad(Unknown Source)
at java.base/java.security.KeyStore.load(KeyStore.java:1479)
at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:964)
at java.base/sun.security.tools.keytool.Main.run(Main.java:398)
at java.base/sun.security.tools.keytool.Main.main(Main.java:391)
Caused by: java.lang.NullPointerException
at ru.CryptoPro.JCP.tools.cl_9.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at ru.CryptoPro.JCP.tools.JarChecker.getClassURL(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.b(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.a(Unknown Source)
at ru.CryptoPro.JCP.tools.cl_34.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at ru.CryptoPro.JCP.tools.SelfTester.a(Unknown Source)
... 9 more

янв. 10, 2020 11:04:05 AM ru.CryptoPro.JCP.tools.SelfTester b
SEVERE: ERROR
java.lang.NullPointerException
at ru.CryptoPro.JCP.tools.cl_9.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at ru.CryptoPro.JCP.tools.JarChecker.getClassURL(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.b(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.a(Unknown Source)
at ru.CryptoPro.JCP.tools.cl_34.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at ru.CryptoPro.JCP.tools.SelfTester.a(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.a(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.<init>(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.<clinit>(Unknown Source)
at ru.CryptoPro.JCP.tools.Starter.check(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineLoad(Unknown Source)
at java.base/java.security.KeyStore.load(KeyStore.java:1479)
at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:964)
at java.base/sun.security.tools.keytool.Main.run(Main.java:398)
at java.base/sun.security.tools.keytool.Main.main(Main.java:391)

Exception in thread "main" java.lang.ExceptionInInitializerError
at ru.CryptoPro.JCP.tools.Starter.check(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineLoad(Unknown Source)
at java.base/java.security.KeyStore.load(KeyStore.java:1479)
at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:964)
at java.base/sun.security.tools.keytool.Main.run(Main.java:398)
at java.base/sun.security.tools.keytool.Main.main(Main.java:391)
Caused by: java.lang.NullPointerException
at ru.CryptoPro.JCP.tools.SelfTester.b(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.a(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.<init>(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.<clinit>(Unknown Source)
... 6 more


когда я попробовал тоже самое для пропатченной крипто-про jre8 то там в результате было сказано что импорт произведен успешно.. хотя не своего сертификата я не увидел ни в одном хранилище и директории my-alias.000 не появилось

подскажите, пожалуйста, что я делаю не так и как нужно делать правильно..

спасибо



Offline Евгений Афанасьев  
#2 Оставлено : 13 января 2020 г. 17:07:43(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 492 раз в 473 постах
Попробуйте так.
В папке с библиотеками запустить командную строку, выполнить:
Код:

keytool -providerpath JCP.jar;ASN1P.jar;asn1rt.jar;forms_rt.jar -import -alias my-alias -providername JCP -keypass 12345 -storetype HDImageStore -keystore NONE -storepass 1 -file my.p7b

Файл с сертификатом(-ами) формата p7b, не cer (keytool не принимает cer).

Offline slider78  
#3 Оставлено : 13 января 2020 г. 17:11:33(UTC)
slider78

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

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

а как быть, если мне доверительный центр прислал только такой сертификат ?
Offline Евгений Афанасьев  
#4 Оставлено : 13 января 2020 г. 17:18:27(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 492 раз в 473 постах
Пересохраните: открыть cer, "Состав" -> "Копировать в", выбрать "p7b".
Offline slider78  
#5 Оставлено : 14 января 2020 г. 7:20:26(UTC)
slider78

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

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

p7b сделал, спасибо

на вашу команду такая ошибка

keytool error: java.security.NoSuchProviderException: no such provider: JCP

и так тоже
keytool error: java.security.NoSuchProviderException: no such provider: ru.CryptoPro.JCP.JCP

Offline Евгений Афанасьев  
#6 Оставлено : 14 января 2020 г. 9:25:49(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 492 раз в 473 постах
С "-provider ru.CryptoPro.JCP.JCP":
Код:
keytool -providerpath JCP.jar;ASN1P.jar;asn1rt.jar;forms_rt.jar -import -alias my-alias -provider ru.CryptoPro.JCP.JCP -keypass 12345 -storetype HDImageStore -keystore NONE -storepass 1 -file my.p7b

?
Offline slider78  
#7 Оставлено : 14 января 2020 г. 11:03:47(UTC)
slider78

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

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

я же указал, что с полным путем тоже ругается..
Offline Евгений Афанасьев  
#8 Оставлено : 14 января 2020 г. 12:05:21(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 492 раз в 473 постах
Автор: Евгений Афанасьев Перейти к цитате
С "-provider ru.CryptoPro.JCP.JCP"

providername заменили на provider в команде?
Приведите новую команду, как делаете.

Отредактировано пользователем 14 января 2020 г. 12:05:58(UTC)  | Причина: Не указана

Offline slider78  
#9 Оставлено : 14 января 2020 г. 13:01:46(UTC)
slider78

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

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

аа.. понял, извиняюсь

уже лучше, теперь так

 ян. 14, 2020 2:59:58 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40363-A
 ян. 14, 2020 2:59:58 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
keytool error: java.lang.Exception: Input not an X.509 certificate
Offline Евгений Афанасьев  
#10 Оставлено : 14 января 2020 г. 14:21:04(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 492 раз в 473 постах
Автор: slider78 Перейти к цитате
keytool error: java.lang.Exception: Input not an X.509 certificate

Точно p7b (в DER-формате)? keytool чувствителен к данным, не все принимает, как сертификат.

Offline slider78  
#11 Оставлено : 14 января 2020 г. 14:35:53(UTC)
slider78

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

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

я конвертировал при помощи КриптоПро CSP
во вкладке Сертификаты - там был как раз мой один сертификат который я ранее из исходного cer (полученного с сайта доверительного центра)
нажал на кнопку "Экспортировать сертификаты" - там как раз диалог сразу предложил p7b - и вот..

я не понял где выполнить действия по конвертации как вы мне указали несколькими ответами выше..
Offline slider78  
#12 Оставлено : 14 января 2020 г. 15:28:18(UTC)
slider78

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

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

поправлюсь - при помощи утилиты CryptoPro Tools

во вкладке Сертификаты - там был как раз мой один сертификат который я ранее из исходного cer (полученного с сайта доверительного центра) установил в раздел "Личные"
просматривается в системе через утилиту Certificates
сертификат мой предназначен для
Client Authentication, Secure Email, Registration Authority user, HTTP, TLS client
Offline slider78  
#13 Оставлено : 14 января 2020 г. 16:40:51(UTC)
slider78

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

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

попробовал выполнить импорт исходного моего файла cer, подставил вместо p7b - и все отработало
(видимо перечисленных jar-ок в опции -providerpath не хватало)

 эт. 14, 2020 6:33:59 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40363-A
 эт. 14, 2020 6:34:00 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Trust this certificate? [no]: yes
Certificate was added to keystore

но куда он добавлен ? я по-прежнему не вижу его в хранилищах...
Offline Евгений Афанасьев  
#14 Оставлено : 14 января 2020 г. 16:52:14(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 492 раз в 473 постах
Автор: Евгений Афанасьев Перейти к цитате
Приведите новую команду, как делаете.


Offline slider78  
#15 Оставлено : 15 января 2020 г. 8:35:24(UTC)
slider78

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

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

keytool -providerpath java-csp-5.0.40363-A\JCP.jar;java-csp-5.0.40363-A\ASN1P.jar;java-csp-5.0.40363-A\asn1rt.jar;java-csp-5.0.40363-A\forms_rt.jar -import -alias ats -provider ru.CryptoPro.JCP.JCP -keypass 12345 -storetype HDImageStore -keystore NONE -storepass 12345 -file my.cer
Offline Евгений Афанасьев  
#16 Оставлено : 15 января 2020 г. 12:08:55(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 492 раз в 473 постах
Причин, почему не отрабатывает, может быть много (keytool имеет свои особенности).
В контейнере может не быть сертификата вообще и вы его туда добавляете, тогда надо что-то вроде:
Код:

"C:\Program Files\Java\jdk-10.0.2\bin\keytool" -J-Dkeytool.compat=true -J-Duse.cert.stub=true -providerpath JCP.jar;ASN1P.jar;asn1rt.jar;forms_rt.jar;JCPRequest.jar;JCPRevCheck.jar;JCPRevTools.jar -import -alias test_b::::12345 -provider ru.CryptoPro.JCP.JCP -keypass 12345 -storetype HDImageStore -keystore NONE -storepass 1 -file test_b.p7b

Обратите внимание:
в providerpath добавлен параметр keytool.compat для корректирования поведения провайдера для keytool, параметр use.cert.stub позволяет использовать контейнер без сертификата, если у вас такой (в java нет понятия контейнеров без сертификатов вообще, если в контейнере ключ подписи; keytool может запросить сертификат и тогда его надо сгенерировать), добавлены модули JCPRequest.jar;JCPRevCheck.jar;JCPRevTools.jar, чтобы можно было отработать ситуацию, если нет сертификата, а в alias передан алиас ключа с паролем (через разделитель ::::), опять же если в контейнере нет сертификата и его надо сгенерировать. И p7b с цепочкой сертификатов, а cer (иначе будет keytool error: java.lang.Exception: Failed to establish chain from reply).

Отредактировано пользователем 15 января 2020 г. 12:10:22(UTC)  | Причина: Не указана

Offline slider78  
#17 Оставлено : 15 января 2020 г. 12:27:00(UTC)
slider78

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

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

спасибо, выполнил для p7b

keytool error: java.lang.Exception: Input not an X.509 certificate

может я p7b не правильно получил - какой утилитой это лучше сделать ?
Offline Евгений Афанасьев  
#18 Оставлено : 15 января 2020 г. 12:59:32(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 492 раз в 473 постах
Можете его приложить, посмотреть? Я делал с помощью стандартного мастера (двойной клик по сертификату, "Копировать..."), также можно в certmgr или в панели CSP при просмотре сертификата.
Offline slider78  
#19 Оставлено : 15 января 2020 г. 13:20:29(UTC)
slider78

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

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

Offline Евгений Афанасьев  
#20 Оставлено : 15 января 2020 г. 14:35:39(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 14 раз
Поблагодарили: 492 раз в 473 постах
И у вас есть закрытый ключ к нему (к "Криптосервер КУ АО "АТС"") для установки в ключевой контейнер? Цепочка строится (3 сертификата), по идее, всю ее можно сохранить в файл p7b.

Отредактировано пользователем 15 января 2020 г. 14:44:22(UTC)  | Причина: Не указана

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