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

Уведомление

Icon
Error

5 Страницы<12345>
Опции
К последнему сообщению К первому непрочитанному
Offline Евгений Афанасьев  
#21 Оставлено : 1 марта 2018 г. 15:20:29(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Если перейти в папку jcp-build-2.0.37027\dependencies, то там лежат bcmail-jdk16.jar bcprov-jdk16.jar bctsp-jdk16.jar, то есть CAdES в этой сборке зависит от bc 1.46. В changelog более новой версии (например, 39267), есть сообщение:
Код:

2015-08-20 КриптоПро JCP 2.0.38481
* cades: версия библиотек-зависимостей bouncycastle повышена с 1.46 до 1.50 (JCP-478)

То есть для версии CAdES из дистрибутива 2.0.37027 нужен bc 1.46, не 1.50; вероятно, в этом проблема.
Offline lartok  
#22 Оставлено : 1 марта 2018 г. 16:01:30(UTC)
lartok

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

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
Автор: afev Перейти к цитате
Если перейти в папку jcp-build-2.0.37027\dependencies, то там лежат bcmail-jdk16.jar bcprov-jdk16.jar bctsp-jdk16.jar, то есть CAdES в этой сборке зависит от bc 1.46. В changelog более новой версии (например, 39267), есть сообщение:
Код:

2015-08-20 КриптоПро JCP 2.0.38481
* cades: версия библиотек-зависимостей bouncycastle повышена с 1.46 до 1.50 (JCP-478)

То есть для версии CAdES из дистрибутива 2.0.37027 нужен bc 1.46, не 1.50; вероятно, в этом проблема.


Сделал зависимость из дистрибутива 2.0.37027 bc 1.46. Теперь вылетает на:

CAdESSignature cadesSignature = new CAdESSignature(config.detached());

Код:
Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/cms/CMSException
	at SignExample.createMixedSignatureWith2Signers(SignExample.java:54)
	at SignExample.main(SignExample.java:101)
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.cms.CMSException
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 2 more
Offline Евгений Афанасьев  
#23 Оставлено : 1 марта 2018 г. 16:16:55(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Сложно сказать - CMSException есть и в bcmail-jdk146, и, например, в bcpkix-jdk15on-1.50. Проверьте, есть ли эти библиотеки.

Отредактировано пользователем 1 марта 2018 г. 16:18:04(UTC)  | Причина: Не указана

Offline lartok  
#24 Оставлено : 2 марта 2018 г. 8:56:31(UTC)
lartok

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

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
Автор: afev Перейти к цитате
Сложно сказать - CMSException есть и в bcmail-jdk146, и, например, в bcpkix-jdk15on-1.50. Проверьте, есть ли эти библиотеки.


Устанавливаю все заново на виртуалке (windows + jre 1.7 + jcp 2.0.37027) - нужно ли при установке как-то прописывать установку cades? или это библиотека просто подключается к проекту? Спрашиваю чтобы отсечь ошибки при установке.

P.S.:Нашел - https://www.cryptopro.ru...s&m=86225#post86225, можно просто скопировать. Едем дальше ...

Отредактировано пользователем 2 марта 2018 г. 9:25:40(UTC)  | Причина: Не указана

Offline lartok  
#25 Оставлено : 2 марта 2018 г. 11:18:24(UTC)
lartok

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

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
Автор: afev Перейти к цитате
Сложно сказать - CMSException есть и в bcmail-jdk146, и, например, в bcpkix-jdk15on-1.50. Проверьте, есть ли эти библиотеки.


Вроде бы все пошло. Вылетает на

Код:
мар 02, 2018 12:14:19 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0 37027
мар 02, 2018 12:14:19 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
мар 02, 2018 12:14:20 PM ru.CryptoPro.CAdES.tools.Utility initJCPAlgorithms
INFO: Replacement of BouncyCastle GOST algorithms.
мар 02, 2018 12:14:20 PM ru.CryptoPro.CAdES.CAdESSignature addSigner
INFO: Add the signer certificate
...
мар 02, 2018 12:14:20 PM ru.CryptoPro.CAdES.b.d.a <clinit>
INFO: %%% Loading of trusted certificates from C:\Program Files\Java\jre7\lib\security\cacerts %%%
мар 02, 2018 12:14:20 PM ru.CryptoPro.CAdES.b.d.a <clinit>
INFO: %%% Trusted certificates were loaded %%%
мар 02, 2018 12:14:20 PM ru.CryptoPro.CAdES.exception.CAdESException <init>
SEVERE: Error building certification path for ... sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target


Куда добавить наш сертификат никак допетрить не могу. Так делал: keytool -importcert -trustcacerts -file 1.cer -alias Bank -keystore "C:/Program Files/Java/jre7/lib/security/cacer"
Offline Евгений Афанасьев  
#26 Оставлено : 2 марта 2018 г. 12:00:09(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Не удается построить цепочку сертификатов. Вы создаете CAdES-BES? Корневой сертификат должен быть добавлен в cacerts, корневые сертификаты TSP служб тоже (если используются). Если есть промежуточные, то их нужно передать вместе с сертификатом подписи в addSigner. Еще можно включить логирование, собрать лог.
P.S. С момента выпуска 37027 было довольно много исправлений.
Offline lartok  
#27 Оставлено : 2 марта 2018 г. 13:36:00(UTC)
lartok

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

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
Автор: afev Перейти к цитате
Не удается построить цепочку сертификатов. Вы создаете CAdES-BES? Корневой сертификат должен быть добавлен в cacerts, корневые сертификаты TSP служб тоже (если используются). Если есть промежуточные, то их нужно передать вместе с сертификатом подписи в addSigner. Еще можно включить логирование, собрать лог.
P.S. С момента выпуска 37027 было довольно много исправлений.


Для начала пытаюсь с простого "CAdES-BES". По сертификатам TSP потом проделаю тоже самое.
Вот скрин нашего сертификата:
Sertifikat.png (5kb) загружен 17 раз(а).

Первый пустой это наш, второй "УЦ ЗАО ..." я добавил в cacerts или надо было самый верхний добавлять?
Для добавления в подпись

Код:
  // Создаем подписанта CAdES-BES.
        cadesSignature.addSigner(CAdESConfig.getDefaultDigestSignatureProvider(),
            JCP.GOST_DIGEST_OID, JCP.GOST_EL_KEY_OID,
            config.getPrivateKey(),
            config.getChain(),
            CAdESType.CAdES_BES, null, false,
            config.getSignedAttributes(),
            config.getUnsignedAttributes());


config.getChain() - в этот контейнер надо добавить сертификаты между нашим и самым верхним?
Правильно ли я понял? Спасибо что помогаете.
Offline Евгений Афанасьев  
#28 Оставлено : 2 марта 2018 г. 13:41:33(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Да, в cacerts обычно кладут доверенные корневые (с какой-то версии мы начали отсеивать не корневые, как просто дополнительные). В config.getChain() нужно поместить сертификат подписи + промежуточные (если есть). Более короткий пример подписи можно найти в javadoc/CAdES-javadoc.jar в папке дистрибутива, в описании класса CAdESSignature.
Offline lartok  
#29 Оставлено : 2 марта 2018 г. 13:45:18(UTC)
lartok

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

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
Автор: afev Перейти к цитате
Да, в cacerts обычно кладут доверенные корневые (с какой-то версии мы начали отсеивать не корневые, как просто дополнительные). В config.getChain() нужно поместить сертификат подписи + промежуточные (если есть). Более короткий пример подписи можно найти в javadoc/CAdES-javadoc.jar в папке дистрибутива, в описании класса CAdESSignature.


Ок.Спасибо - попробуем запустить
Offline lartok  
#30 Оставлено : 2 марта 2018 г. 14:41:59(UTC)
lartok

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

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
Та же ошибка. Куда смотреть не пойму.

корневой добавлял так:
keytool -importcert -trustcacerts -file MainTaks.cer -alias MainTaks1 -keystore "C:/Program Files/Java/jre7/lib/security/cacerts"
и так:
keytool -keystore "C:/Program Files/Java/jre7/lib/security/cacerts" -importcert -alias maintaks -file "MainTaks.cer"

Проверяю размер chain.size() который передается в cadesSignature.addSigner - 4, т.е. все четыре сертификата в контейнере.

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