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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline sav1902  
#1 Оставлено : 20 февраля 2019 г. 8:14:05(UTC)
sav1902

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

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

Сказал(а) «Спасибо»: 8 раз
ОС RedHat linux. Графического интерфейса нет. Установлены JCP и CSP.
В HDImageStore положил каталог с ключем.

Теперь нужно установить сертификат и связать с ключем из командной строки. Если я это сделаю с помощью certmgr - я должен в java увидеть этот сертификат? Ключ получаю, далее метод getCertificate(alias) возвращает null

Конечно можно написать код на java который установит сетрификат, но будет ли его тогда видеть CSP?

В общем задача какой-то одной утилитой установить сертификат что бы его видно было из JCP и из CSP - выполнима?
Или для CSP вызов certmgr + для JCP java код - только так и никак иначе?

Отредактировано пользователем 20 февраля 2019 г. 9:14:10(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 20 февраля 2019 г. 13:31:55(UTC)
Евгений Афанасьев

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

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

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

Если я это сделаю с помощью certmgr - я должен в java увидеть этот сертификат?

Нет. В случае java такой связи не требуется, сертификат и ключ читаются из контейнера.

Автор: sav1902 Перейти к цитате

Ключ получаю, далее метод getCertificate(alias) возвращает null

Скорее всего, в контейнере нет сертификата.

Автор: sav1902 Перейти к цитате

Конечно можно написать код на java который установит сетрификат, но будет ли его тогда видеть CSP?
В общем задача какой-то одной утилитой установить сертификат что бы его видно было из JCP и из CSP - выполнима?

Можно использовать keytool, у него есть команда -importcert, пример есть в разделе Keytool в руководстве разработчика (в примере нужно использовать -keystore NONE).


Offline sav1902  
#3 Оставлено : 20 февраля 2019 г. 14:21:54(UTC)
sav1902

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

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

Сказал(а) «Спасибо»: 8 раз
Я правильно понял что для java с помощью keytool можно сделать "Чтение сертификата ключа проверки ЭП из файла и запись его на носитель в соответствии с хранящимся на носителе ключом ЭП"

Выполнил:
keytool -importcert -alias 51910c3d-eb90-4c98-9098-20aa6d0c80f7 -provider ru.CryptoPro.JCP.JCP -keypass 123456 -storetype HDImageStore -keystore NONE -storepass 123456 -file CERTIFICATE.cer -v

Вывод в консоль такой:
Feb 20, 2019 2:17:57 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40035
Feb 20, 2019 2:17:57 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.

Перезапустил java приложение - все равно getCertificate(51910c3d-eb90-4c98-9098-20aa6d0c80f7) возвращает null - должен возвращать сертификат?

Выполнил keytool -exportcert -alias 51910c3d-eb90-4c98-9098-20aa6d0c80f7 -provider ru.CryptoPro.JCP.JCP -keypass 123456 -storetype HDImageStore -keystore NONE -storepass 123456 -file EXPORTED.cer -v

Получил:
Feb 20, 2019 2:42:06 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40035
Feb 20, 2019 2:42:06 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
keytool error: java.lang.Exception: Alias <51910c3d-eb90-4c98-9098-20aa6d0c80f7> has no certificate
java.lang.Exception: Alias <51910c3d-eb90-4c98-9098-20aa6d0c80f7> has no certificate
at sun.security.tools.keytool.Main.doExportCert(Main.java:1502)
at sun.security.tools.keytool.Main.doCommands(Main.java:992)
at sun.security.tools.keytool.Main.run(Main.java:366)
at sun.security.tools.keytool.Main.main(Main.java:359)

Может я неверно importcert выполняю?

Отредактировано пользователем 20 февраля 2019 г. 14:45:08(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#4 Оставлено : 20 февраля 2019 г. 15:34:30(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Да, правильный раздел.
importcert - завершился успехом, ошибок не было?
Попробуйте, пожалуйста, p7b установить, а не cer.
Offline sav1902  
#5 Оставлено : 21 февраля 2019 г. 7:57:47(UTC)
sav1902

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

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

Сказал(а) «Спасибо»: 8 раз
Автор: Евгений Афанасьев Перейти к цитате

importcert - завершился успехом, ошибок не было?


Все что вывел importcert :
Feb 20, 2019 2:17:57 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40035
Feb 20, 2019 2:17:57 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.

Странно работает importcert - ничего не делает но и ошибок не выводит

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

Попробуйте, пожалуйста, p7b установить, а не cer.

Тоже самое:
Feb 20, 2019 2:17:57 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40035
Feb 20, 2019 2:17:57 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.

Попробовал в alias указать не существующий ключ: на сертификат p7b ошибка что это не x509, сертификат cer выводится в консоль и куда-то устанавливается, результат успешный. После при попытке получить по альясу сертификат естественно говорит что нет такого ключа



Offline Евгений Афанасьев  
#6 Оставлено : 22 февраля 2019 г. 10:28:29(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
После изучения keytool появились 2 обстоятельства:
1) при выполнении keytool'ом isInstanceOf(PrivateKey) проверяется, есть ли в контейнере ключ и сертификат (тогда это будет PrivateKey) - сертификата, естественно, нет, поэтому не работает (согласно правилам KeyStore, только у SecretKey нет сертификата).
2) если добавить реализацию свою isInstanceOf в JCP (без проверки наличия сертификата), то далее keytool все-таки выполнит getCertificate, опять же, сертификата нет в контейнере, после чего keytool'ом будет сгенерирована ошибка (про отсутствие публичного ключа).
Пока быстрого решения нет для случая, когда исходный контейнер - без сертификата, и требуется установить сертификат.
P.S. Пожалуй, проще написать установку:
Код:

KeyStore keyStore = KeyStore.getInstance("HDImageStore");
keyStore.load(null, null);
Certificate cert = CertificateFactory.getInstance("X.509").generateCertificate(new FileInputStream("CERTIFICATE.cer"));
keyStore.setCertificateEntry("51910c3d-eb90-4c98-9098-20aa6d0c80f7", cert);

Отредактировано пользователем 22 февраля 2019 г. 11:37:13(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
sav1902 оставлено 22.02.2019(UTC)
Offline sav1902  
#7 Оставлено : 22 февраля 2019 г. 12:42:17(UTC)
sav1902

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

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

Сказал(а) «Спасибо»: 8 раз
А исходный контейнер с сертификатом это ведь pfx? Мне такой давали и пришлось для установки в HDImageStore раскладывать его на каталог с ключами и сертификат cer
Есть возможность как-то pfx положить в HDImageStore через keytool?
Offline Евгений Афанасьев  
#8 Оставлено : 22 февраля 2019 г. 17:13:23(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Автор: sav1902 Перейти к цитате
А исходный контейнер с сертификатом это ведь pfx? Мне такой давали и пришлось для установки в HDImageStore раскладывать его на каталог с ключами и сертификат cer
Есть возможность как-то pfx положить в HDImageStore через keytool?

Нет. это обычный, в виде xxxxx.yyy
Пока такой возможности нет.

P.S. Скорее всего, обойдем это ограничение с требованием сертификата keytool'ом, но в след. версии.

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

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
sav1902 оставлено 26.02.2019(UTC)
Offline malabi2  
#9 Оставлено : 29 июня 2022 г. 14:25:15(UTC)
malabi2

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

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

Автор: sav1902 Перейти к цитате
А исходный контейнер с сертификатом это ведь pfx? Мне такой давали и пришлось для установки в HDImageStore раскладывать его на каталог с ключами и сертификат cer
Есть возможность как-то pfx положить в HDImageStore через keytool?


Добрый день!
Подскажите, пожал-та, как вы разложили pfx на cer и каталог с ключами?
Offline malabi2  
#10 Оставлено : 29 июня 2022 г. 16:17:29(UTC)
malabi2

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

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

Автор: malabi2 Перейти к цитате
Автор: sav1902 Перейти к цитате
А исходный контейнер с сертификатом это ведь pfx? Мне такой давали и пришлось для установки в HDImageStore раскладывать его на каталог с ключами и сертификат cer
Есть возможность как-то pfx положить в HDImageStore через keytool?


Добрый день!
Подскажите, пожал-та, как вы разложили pfx на cer и каталог с ключами?


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