Статус: Новичок
Группы: Участники
Зарегистрирован: 24.01.2019(UTC) Сообщений: 2
|
Добрый день! Прошу помощь. При создании CAdES-BES подписи вылетает ошибка Код:
Error building certification path for ...
unable to find valid certification path to requested target (33)
код взят из примера samples-sources/CAdES/SignExample : Код:
// Получаем цепочку сертификатов.
List<Certificate> lChain =
Arrays.asList(keyStore.getCertificateChain(alias));
// Конвертируем цепочку в X509Certificate.
Collection<X509Certificate> xChain =
Arrays.asList((lChain).toArray(new X509Certificate[lChain.size()]));
chain.addAll(xChain);
cadesSignature.addSigner(config.getProviderName(),
config.getDigestOid(),
config.getPublicKeyOid(),
config.getPrivateKey(),
config.getChain(),
CAdESType.CAdES_BES,
null, false,
config.getSignedAttributes(),
config.getUnsignedAttributes());
Сертификаты получаем из keyStore Отредактировано пользователем 30 января 2019 г. 18:57:36(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,087  Откуда: Крипто-Про Сказал(а) «Спасибо»: 22 раз Поблагодарили: 747 раз в 704 постах
|
Здравствуйте. Корневой сертификат добавили в cacerts? Нужно собрать лог (JCPLogger с уровнем FINE). |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.01.2019(UTC) Сообщений: 2
|
Да, подпись сформировалась, но возникла новая проблема при проверке этой подписи сервисом https://www.justsign.me/verifyqca/Verify/Не удалось проверить подпись CAdES-BES. Ошибка: [Элемент не найден]. Код: [0x80070490].Сертификат, на ключе которого было подписано сообщение, не найден.При проверке подписи (CMS) нельзя загрузить сам сертификат. То есть нельзя проверить подпись? вот информация о сертификате ./certmgr -list Код:
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 (512 bits)
Not valid before : 27/11/2018 08:35:07 UTC
Not valid after : 27/11/2019 08:45:07 UTC
PrivateKey Link : Yes
Container : HDIMAGE\\20190130.000\60C1
Provider Name : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Provider Info : ProvType: 80, KeySpec: 1, Flags: 0x0
OCSP URL : http://qs.cryptopro.ru/ocsp2012/ocsp.srf
CA cert URL : http://cdp.cryptopro.ru/ra/aia/428832d0a383eff42f249553c0f4ee891c659f4e.crt
CA cert URL : http://q20.cryptopro.ru/aia/428832d0a383eff42f249553c0f4ee891c659f4e.crt
CDP : http://cdp.cryptopro.ru/ra/cdp/428832d0a383eff42f249553c0f4ee891c659f4e.crl
CDP : http://q20.cryptopro.ru/cdp/428832d0a383eff42f249553c0f4ee891c659f4e.crl
вот код, которым создается подпись Код:
CAdESSignature cadesSignature = new CAdESSignature(config.detached());
cadesSignature.setCertificateStore(config.getCertificateStore());
cadesSignature.setCRLStore(config.getCRLStore());
// Создаем подписанта CAdES-BES.
cadesSignature.addSigner(config.getProviderName(),
config.getDigestOid(),
"1.2.643.7.1.1.6.1",
config.getPrivateKey(),
config.getChain(),
CAdESType.CAdES_BES,
null, false,
config.getSignedAttributes(),
config.getUnsignedAttributes());
Отредактировано пользователем 31 января 2019 г. 13:48:03(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,087  Откуда: Крипто-Про Сказал(а) «Спасибо»: 22 раз Поблагодарили: 747 раз в 704 постах
|
Используйте setCertificateStore у объекта CAdESSignature для добавления сертификата подписи в подпись. Описание функции есть в CAdES-javadoc.jar в дистрибутиве JCP. По умолчанию CADES-BES создается без сертификата. |
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close