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

Уведомление

Icon
Error

3 Страницы<123
Опции
К последнему сообщению К первому непрочитанному
Offline slider78  
#21 Оставлено : 15 января 2020 г. 15:44:41(UTC)
slider78

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

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

закрытого ключа нет
мне нужно только при помощи этого сертификата проверять ЭЦП входящих документов и зашифровывать исходящие данные
Offline Евгений Афанасьев  
#22 Оставлено : 15 января 2020 г. 16:03:26(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Тогда вам нужны другие команды. То, что вы делаете - установка сертификата в пару закрытому ключу в контейнер. Вам нужно, видимо, установить в trust store:
Код:

keytool -J-Dkeytool.compat=true -J-Duse.cert.stub=true -providerpath C:\jcp25\lib\JCSP.jar;C:\jcp25\lib\JCP.jar;C:\jcp25\lib\ASN1P.jar;C:\jcp25\lib\asn1rt.jar;C:\jcp25\lib\forms_rt.jar
-import -alias myCert -provider ru.CryptoPro.JCP.JCP -storetype CertStore -keystore c:\.keystore -storepass 123456 -file c:\myCert.cer

Архив распакован в C:\jcp25\lib. Импортируется сертификат c:\myCert.cer с алиасом myCert в доверенное хранилище c:\.keystore формата CertStore с паролем 123456 (хранилище будет создано).
Ну и хранилище необязательно, можно хранить сертификаты (для проверки подписи) просто в виде файлов cer и читать при необходимости.
Можно также использовать JKS или BKS место CertStore, в интернете есть команды для создания JKS, что-то вроде
Код:

keytool -importcert -file file.cer -alias my_file -keystore C:\my.store

Будет предложено создать хранилище C:\my.store (формата по умолчанию - JKS) и задать пароль.

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

Offline slider78  
#23 Оставлено : 15 января 2020 г. 16:23:02(UTC)
slider78

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

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

Первая команда создала файл, но я не знаю что с ним делать - как мне из Java приложения получить этот открытый ключ для использования ?
по второй команде - не понраилась опция -store
я не сильно разбираюсь в теме, только делаю первые шаги - не знаю что такое JKS BKS CertStore...
Offline Евгений Афанасьев  
#24 Оставлено : 15 января 2020 г. 16:30:25(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Автор: slider78 Перейти к цитате
по второй команде - не понраилась опция -store

Исправил на -keystore. На эти случаи есть -help у keytool.
Открытый ключ в сертификате. Хранилище для проверки вам не нужно, оно скорее для удобства, можно сертификаты читать прямо из файлов (cer, p7b).
Прочитайте рук-во программиста в папке Doc/ЖТЯИ-...-JCP в дистрибутиве, об алгоритме проверки подписи в интернете, в sampels-sources.jar есть примеры проверки подписей разных форматов (plain, CMS, CAdES, PDF, XML).
JKS BKS CertStore - форматы хранилищ доверенных сертификатов (Java Key Store от Oracle/IBM, Bouncycastle Key Store от bouncycastle, CertStore из JCP).

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

Offline slider78  
#25 Оставлено : 16 января 2020 г. 9:45:42(UTC)
slider78

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

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

спасибо за помощь, взял код из примера, стал чуть больше понимать в этом вопросе..

оказывается можно просто прочесть сертификат из изходного файла и взять из него публичный ключ...

CertificateFactory cf = CertificateFactory.getInstance("X509");
Certificate cer = cf.generateCertificate(new FileInputStream ("ьн.cer"));
PublicKey fileKey = cer.getPublicKey();

Offline Евгений Афанасьев  
#26 Оставлено : 16 января 2020 г. 11:19:55(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Автор: slider78 Перейти к цитате
оказывается можно просто прочесть сертификат из изходного файла и взять из него публичный ключ

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