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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline MrLebovsky  
#1 Оставлено : 12 марта 2020 г. 11:21:36(UTC)
MrLebovsky

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

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

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

У нас получился вариант с Cades-BES подписью:

Код:
cadesSignature.addSigner(JCP.PROVIDER_NAME, JCP.GOST_DIGEST_2012_256_OID,
                JCP.GOST_PARAMS_EXC_2012_256_KEY_OID, privateKey, chainCertificates, CAdESType.CAdES_BES,
                null, false);


Но при этом файл с подписью содержит в себе так же исходный файл. Исходя из документации, мы пытались менять CAdESType на CAdES-T и CAdES-X Long Type 1, однако в этих случаях возникает исключение:
Цитата:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate'


Просьба подсказать, в чем может быть причина исключения?
Offline Александр Лавник  
#2 Оставлено : 12 марта 2020 г. 12:18:16(UTC)
Александр Лавник

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

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

Сказал «Спасибо»: 53 раз
Поблагодарили: 776 раз в 718 постах
Автор: MrLebovsky Перейти к цитате
Добрый день!
Возникла необходимость в подписании файла таким образом, чтобы итоговый файл подписи содержал в себе только подпись, и не содержал бы исходный документ.

У нас получился вариант с Cades-BES подписью:

Код:
cadesSignature.addSigner(JCP.PROVIDER_NAME, JCP.GOST_DIGEST_2012_256_OID,
                JCP.GOST_PARAMS_EXC_2012_256_KEY_OID, privateKey, chainCertificates, CAdESType.CAdES_BES,
                null, false);


Но при этом файл с подписью содержит в себе так же исходный файл. Исходя из документации, мы пытались менять CAdESType на CAdES-T и CAdES-X Long Type 1, однако в этих случаях возникает исключение:
Цитата:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate'


Просьба подсказать, в чем может быть причина исключения?

Здравствуйте.

1) Тип подписи - совмещенная/отделенная задается в конструкторе объекта CAdESSignature.

См. описание конструкторов в документации из состава дистрибутива КриптоПро JCP 2.0 - javadoc/CAdES-javadoc.jar/ru/CAdES/CAdESSignature.html

2) Вероятно, ошибка при создании подписи с использованием штампов времени связана с отсутствием доверия к сертификату оператора службы штампов времени.

Добавьте корневой сертификат для сертификата оператора службы штампов времени в cacerts или используйте службу штампов времени, к сертификату оператора которой уже есть доверие.

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