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

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline Алексей Вдовин  
#1 Оставлено : 4 декабря 2024 г. 7:49:02(UTC)
Алексей Вдовин

Статус: Активный участник

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

Сказал(а) «Спасибо»: 77 раз
Поблагодарили: 1 раз в 1 постах
Подскажите пожалуйста аналог на JCP


Код:
'/opt/cprocsp/bin/amd64/cpverify -mk ' . $filePath . ' -alg GR3411_2012_256'


в идеале ссылку на доку, где самому можно поискать нужные методы
так же интересуют примеры реализаций на java - подписание, проверка ЭЦП

Отредактировано пользователем 4 декабря 2024 г. 8:08:47(UTC)  | Причина: Не указана

Offline Санчир Момолдаев  
#2 Оставлено : 4 декабря 2024 г. 9:10:20(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 101 раз
Поблагодарили: 285 раз в 265 постах
Код:
        MessageDigest digest = MessageDigest.getInstance(digestAlg, providerName); // (JCP.GOST_DIGEST_2012_256_NAME , JCP / JCSP)
        digest.update(data); // <- byte[] data
        byte[] hash = digest.digest(); // <- digest value


есть обща дока
https://docs.cryptopro.ru/jcp-jcsp/
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
Алексей Вдовин оставлено 04.12.2024(UTC)
Offline Алексей Вдовин  
#3 Оставлено : 4 декабря 2024 г. 9:35:56(UTC)
Алексей Вдовин

Статус: Активный участник

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

Сказал(а) «Спасибо»: 77 раз
Поблагодарили: 1 раз в 1 постах
Автор: Санчир Момолдаев Перейти к цитате
Код:
        MessageDigest digest = MessageDigest.getInstance(digestAlg, providerName); // (JCP.GOST_DIGEST_2012_256_NAME , JCP / JCSP)
        digest.update(data); // <- byte[] data
        byte[] hash = digest.digest(); // <- digest value


есть обща дока
https://docs.cryptopro.ru/jcp-jcsp/



млин, по доке чёт тяжко найти - даже пока не пойму как искать, то что мне нужно :(

например в Вашем примере, хотелось бы понять как выше по коду инициализировать сам провайдер?
иначе, подозреваю, что код не отработает

так и есть - вываливается по исключению NoSuchProviderException (передал "JCP")

передал вторым параметром new JCP() - поехало, но теперь вываливается по исключению

no such algorithm: JCP.GOST_DIGEST_2012_256_NAME for provider JCP

PS
а какие нибудь простенькие рабочие примеры на java есть?

Отредактировано пользователем 4 декабря 2024 г. 9:57:05(UTC)  | Причина: Не указана

Offline Санчир Момолдаев  
#4 Оставлено : 4 декабря 2024 г. 10:24:34(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 101 раз
Поблагодарили: 285 раз в 265 постах
у вас видимо java11+

пример инициализации посмотрите тут https://github.com/msham.../ExampleApplication.java

добавлять провайдеры надо в самом начале кода и один раз.

по поводу первой строчки. это статичные константы
Код:
MessageDigest.getInstance(JCP.GOST_DIGEST_2012_256_NAME, JCP.PROVIDER_NAME);
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
Алексей Вдовин оставлено 04.12.2024(UTC)
Offline Алексей Вдовин  
#5 Оставлено : 4 декабря 2024 г. 11:53:18(UTC)
Алексей Вдовин

Статус: Активный участник

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

Сказал(а) «Спасибо»: 77 раз
Поблагодарили: 1 раз в 1 постах
Автор: Санчир Момолдаев Перейти к цитате
у вас видимо java11+

пример инициализации посмотрите тут https://github.com/msham.../ExampleApplication.java

добавлять провайдеры надо в самом начале кода и один раз.

по поводу первой строчки. это статичные константы
Код:
MessageDigest.getInstance(JCP.GOST_DIGEST_2012_256_NAME, JCP.PROVIDER_NAME);


Спасибо большое, заработало!

Теперь буду разбираться как подписывать и проверять...

Может есть какой нить годный мануальчик а-ля "быстрый старт" с примерами по этой теме?
Offline Санчир Момолдаев  
#6 Оставлено : 4 декабря 2024 г. 11:57:14(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 101 раз
Поблагодарили: 285 раз в 265 постах
примеры есть в самом дистрибутиве в samples-sources.jar
есть javadocs

есть ранее направленный пример.
но там расчета отдельного хэша нет пока.

слишком абстрактный вопрос: как подписывать.
raw подпись, cms, может речь о XmlDsig или pdf.

посмотрите выше указанные примеры
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
Алексей Вдовин оставлено 04.12.2024(UTC)
Offline Алексей Вдовин  
#7 Оставлено : 4 декабря 2024 г. 12:07:15(UTC)
Алексей Вдовин

Статус: Активный участник

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

Сказал(а) «Спасибо»: 77 раз
Поблагодарили: 1 раз в 1 постах
Автор: Санчир Момолдаев Перейти к цитате
примеры есть в самом дистрибутиве в samples-sources.jar
есть javadocs


файлы samples.jar и samples-sources.jar я вижу, но чёт не понимаю как их посмотреть :(
в IJ кликаю - не открываются

я на java только начинаю, до этого на php всё работало - вот пытаюсь портировать
на сайтах по аналогии с примером для PHP https://docs.cryptopro.r...hpcades/phpcades-samples для Java нет подобного?


Цитата:

слишком абстрактный вопрос: как подписывать.
raw подпись, cms, может речь о XmlDsig или pdf.


вот всё точно так же как для php в примере выше, только на java

Offline Алексей Вдовин  
#8 Оставлено : 4 декабря 2024 г. 13:08:44(UTC)
Алексей Вдовин

Статус: Активный участник

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

Сказал(а) «Спасибо»: 77 раз
Поблагодарили: 1 раз в 1 постах
Автор: Санчир Момолдаев Перейти к цитате
есть ранее направленный пример.


а вот пример из гита - то, что надо - там и подписание есть, и проверка
спасибо!


если ещё про jar файлы поможете - вообще супер будет :)

Отредактировано пользователем 4 декабря 2024 г. 13:09:33(UTC)  | Причина: Не указана

Offline Санчир Момолдаев  
#9 Оставлено : 4 декабря 2024 г. 13:40:37(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 101 раз
Поблагодарили: 285 раз в 265 постах
jar - это архив. распакуйте. там папки и исходники в samples-sources.jar
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
Алексей Вдовин оставлено 04.12.2024(UTC)
Offline Алексей Вдовин  
#10 Оставлено : 4 декабря 2024 г. 14:50:40(UTC)
Алексей Вдовин

Статус: Активный участник

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

Сказал(а) «Спасибо»: 77 раз
Поблагодарили: 1 раз в 1 постах
Автор: Санчир Момолдаев Перейти к цитате
jar - это архив. распакуйте. там папки и исходники в samples-sources.jar


Спасибо, распаковалось куча примеров, без единого read.me с описанием - изучу.

Меня больше заинтересовал рабочий проект с гита - хочу локально запустить.

# Настройка
* указать считыватель, алиас (имя контейнера) и пин код в application.yml
* установить корневой и промежуточный сертификаты в cacerts

Можно тут подробней?

Где все эти данные взять (п.1) - считыватель, алиас и пинкод?
И куда поместить (п.2) - где находится cacerts? и где взять корневой и промежуточный сертификаты? (у меня Ubuntu - может там уже всё установлено?)
Но всё равно интересно, т.к. в планах настроить подписание в докере.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (4)
3 Страницы123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.