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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline blueWhale  
#1 Оставлено : 24 июля 2024 г. 14:59:22(UTC)
blueWhale

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

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

Сказал(а) «Спасибо»: 1 раз
Добрый день!

Я на самом старте разработки решения позволяющего автоматизированно подписывать pdf документы. Решение планируется на JDK 17+

CryptoPRO CSP установил, скачал тестовый сертификат certnew.cer (и даже он ставится в корневой каталог довернных сертификатов), но нет Хранилища при просмотре через cptools раздел Контейнеры пуст и как следствие, предполагаю, при вызове метода

Код:
KeyStore.getInstance("HDImageStore")


выскакивает ошибка об отсутствии хранилища

Код:

Caused by: java.security.KeyStoreException: HDImageStore not found
	at java.base/java.security.KeyStore.getInstance(KeyStore.java:873) ~[na:na]
	at cryptopro.jcp.example.CertificateService.readCertSample(CertificateService.java:193) ~[classes/:na]
	at cryptopro.jcp.example.CertificateService.initCertificatesStorage(CertificateService.java:72) ~[classes/:na]
	... 37 common frames omitted
Caused by: java.security.NoSuchAlgorithmException: HDImageStore KeyStore not available
	at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:159) ~[na:na]
	at java.base/java.security.Security.getImpl(Security.java:658) ~[na:na]
	at java.base/java.security.KeyStore.getInstance(KeyStore.java:870) ~[na:na]


Задача: разработка программного решения для автоматизированной подписи документов pdf формата с использованиеем КриптоПРО CSP.

Вопросы:
- В директории своей JRE conf\security\java.security прописаны несколько провайдеров, одним из них я записал security.provider.14=ru.CryptoPro.JCSP.JCSP (не улавливаю связь с проблемой, но сделал по рекоменации c просторов интернета), а как же правильно подружить Java с КриптоПРО провайдером?
- В найденых примерах (jcp-2.0.45042-A-15ec0663\sample-sources.jar) и на Github используется на старте всегда этот метод получения контейнера, что нужно учесть для корректного использования и начала разработки?
- Подскажите, пожалуйста, нужен ли мне физический носитель либо лицензия для установки\создания контейнера и дальнейшей разработки?
- Может я упускаю какой-нибудь исчерпывающий мануал (На сколько смог понять ЖТЯИ.00091-04 33 01. Руководство программиста.pdf для этого не подходит) по разработке с ответами по внедрению на Java и мне стоит начать копать с него?

Заранее признателен всем неравнодушным ответившим.

Отредактировано пользователем 25 июля 2024 г. 14:52:02(UTC)  | Причина: Не указана

Offline blueWhale  
#2 Оставлено : 24 июля 2024 г. 18:23:56(UTC)
blueWhale

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

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

Сказал(а) «Спасибо»: 1 раз
установил хранилище HDImageStore вместе с ключом. отображается с cstools корректно, подписание работает, проверка подписи тоже.

Остается вопрос, почему же не видит приложение и выдает ошибку на методе
Код:
KeyStore.getInstance(JCP.HD_STORE_NAME);


Текст ошибки остается прежним:

Код:
Caused by: java.security.NoSuchAlgorithmException: HDImageStore KeyStore not available
	at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
	at java.base/java.security.Security.getImpl(Security.java:658)
	at java.base/java.security.KeyStore.getInstance(KeyStore.java:870)
	... 1 more

Отредактировано пользователем 24 июля 2024 г. 18:24:37(UTC)  | Причина: Не указана

Offline basid  
#3 Оставлено : 24 июля 2024 г. 22:11:21(UTC)
basid

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

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

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 145 раз в 130 постах
А почитайте, для начала, документацию.
Там и про разницу между JCP и JCSP будет и про хранилища тоже.
Offline blueWhale  
#4 Оставлено : 24 июля 2024 г. 23:11:23(UTC)
blueWhale

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

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

Сказал(а) «Спасибо»: 1 раз
Почитал документацию, про разницу JCP и JCSP понял, про разницу хранилищ не нашел: ткните носом, пожалуйста, иначе не смогу ваш ответ рекомендовать как правильный. спасибо!
Offline basid  
#5 Оставлено : 25 июля 2024 г. 10:22:07(UTC)
basid

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

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

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 145 раз в 130 постах
JCP использует хранилища в собственном формате.
JCSP работает с хранилищами через "нативный" CSP.
cptools - приложение "нативного" CSP, поэтому JCP не видит и не может увидеть "эти" ключи-сертификаты.
thanks 1 пользователь поблагодарил basid за этот пост.
blueWhale оставлено 06.08.2024(UTC)
Offline blueWhale  
#6 Оставлено : 25 июля 2024 г. 11:22:33(UTC)
blueWhale

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

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

Сказал(а) «Спасибо»: 1 раз
Благодарю! именно это начал подозревать, когда вы указали на разницу между jcp и jcsp - теперь стало понятно. Переключился на использование Java CSP и успешно подключаюсь (если можно так сказать) к хранилищу HDIMAGE и получаю ключ с сертификатом, сейчас прорабатываю вопрос проверки наличия и корректности подписи у "входящего" pdf документа средствами библиотеки itextpdf\5.5.5 из пакета java-csp-5.0.42119-A, затем мне нужно найти источник информации о возможности запроса сертификата у пользователя в вэб форме для подписания документов pdf в удаленной директории. Правильно ли я понимаю, что нужно будет смотреть документацию по Browser Plug-in, можете ли Вы подсказать, пожалуйста, направление для изучения "вглубь" этого вопроса?

Отредактировано пользователем 25 июля 2024 г. 13:00:14(UTC)  | Причина: Не указана

Offline blueWhale  
#7 Оставлено : 30 июля 2024 г. 10:24:12(UTC)
blueWhale

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

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

Сказал(а) «Спасибо»: 1 раз
Чтобы не плодить темы и сохранения истории, продолжу в этой:

Здравствуйте, Знатоки. После некоторых мытарств с крипто подписью, обращаюсь к вам с новым вопросом, а именно:

при использовании примера из класса SignVerifyPDFExample метод sign, программа требует участия пользователя для "прожатия" клавиши Enter на протяжении некоторого времени, в которое (как я понял) формируется пара ключей...

Код:
Нажимайте Enter или введите ESC для отмены

Код:
Вы ввели 90% последовательности.


так вот вопрос: как без взаимодействия с пользователем сгенерировать это значение. И как всегда - заранее признателен за ваши ответы!

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

Offline blueWhale  
#8 Оставлено : 2 августа 2024 г. 9:46:11(UTC)
blueWhale

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

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

Сказал(а) «Спасибо»: 1 раз
Привет, все!

Ушел от варианта подписи с генерацией ключевой пары, обращения в УЦ за сертификатом и приступил к разработке от Хранилища HDIMAGE, успешно подключаюсь к хранилищу, получаю chain, проверяю что алгоритм для тестового ключа GOST3411_2012_256 загружается, но на шаге обращения в метод getEncodedPKCS7 вылезает ошибка java.security.SignatureException: Unsupported method вылезает она из класса PdfPKCS7. Вопрос в версиях java-csp-5.0.42119-A и java-csp-5.0.45549-A-56fe5758 лежат jar'ники помеченные как patched - это уже пропатченные версии? ну и по традиции вопрос: в чем может быть проблема? Подскажите, пожалуйста, что нужно проверить и/или поправить?

Спасибо!
Offline blueWhale  
#9 Оставлено : 2 августа 2024 г. 10:40:42(UTC)
blueWhale

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

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

Сказал(а) «Спасибо»: 1 раз
Все не так! Предыдущий вопрос снимаю, т.к. сменив провайдера в методе sign с JCP на JCSP подпись стала проходить успешно, метод verify из примеров sample/PDF выдает результат Document wasn't modified. Другой вопрос, почему когда я открываю документ pdf в Adobe вырисовывает сообщение о том, что по крайней мере одна из подписей недействительна, а в панели подписи зияет Документ был изменен или поврежден. Почему такая разница, может я какой-то процесс должен финализировать или что еще может быть? Подскажите, может что-то измениться если подписывать "реальной" подписью?

Спасибо!

с ресурса "проверка-подписи.рф":
Код:
Базовая проверка ЭП и цепочки сертификатов не пройдена
Дополнительная проверка цепочки сертификатов не пройдена
Статус аккредитации издателя сертификата не установлен
Электронная подпись не является квалифицированной

Тип подписи: CMS
Название подписи:Signature1
Относится ко всему документу:Да
Основание подписи: Тестовая подпись (ГОСТ 2012-256)
Место подписи:Российская федерация
Контактные данные из подписи:
Дата подписи из PDF:2 августа 2024 г. 9:45:01 (Время и дата указаны в соответствии с часами компьютера подписанта и не могут быть доверенными.)
Дата подписи из самой подписи: 2 августа 2024 г. 6:45:01 (Время и дата указаны в соответствии с часами компьютера подписанта и не могут быть доверенными.)
Владелец сертификата:home
Действителен: с 30 июля 2024 г. по 30 сентября 2024 г.

Отредактировано пользователем 2 августа 2024 г. 10:50:19(UTC)  | Причина: Не указана

Offline blueWhale  
#10 Оставлено : 5 августа 2024 г. 20:27:45(UTC)
blueWhale

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

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

Сказал(а) «Спасибо»: 1 раз
Не теряя надежды, что найдется понимающий человек и сможет помочь с проверкой подписей pdf, а может и кто-то, кто поможет разобраться с cades плагином:
Подключил cadesplugin_api.js к своему приложению [стек: vaadin 24.3.12, spring-boot 3.3.0, chrome 127.0.6533.89], кстати, странно - не смог найти кроме как в примере https://cryptopro.ru/sit...e/cades_bes_sample.html# или на github - нет его почему-то на сайте cryptopro, даже в разделе документации к cades plugin, ну да ладно. Так вот, теперь при загрузке получаю ошибку:

Код:
Ошибка при загрузке сертификатов:  {message: 'Класс не зарегистрирован (0x80040154)', requestid: 4, type: 'error'}


при это перед этим запрашивает стандартное разрешение на выполнение операций.

и нигде не могу найти объяснения причин, только рекомендацию проверить ActiveX - ну приехали, chrome же не поддерживает ActiveX... и все будто тупик. Помогите, люди добрые! Ну хоть последовательность как дебажить все это объясните темному;) Спасибо!

Отредактировано пользователем 5 августа 2024 г. 20:34:07(UTC)  | Причина: Не указана

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