Добрый день.
Автор: Алексей Вдовин 
Отрабатывает очень долго - более 30 секунд
Автор: Алексей Вдовин 
вернулся к вопросу проверки отсоединенной подписи - на данный момент проверка локально 54 секунд
Какого формата подпись?
При проверке CAdES-BES/T происходят обращения в сеть за CRL, возможно обращение в сеть за сертификатами при enableAIAcaIssuers=true.
Автор: Алексей Вдовин 
На PHP_Cades проверку реализовывал через другой класс - CPSignedData() и метод VerifyCades() - там всё быстро отрабатывало
Автор: Алексей Вдовин 
с GUI проверка этиж же файлов моментально отрабатывает
Эта реализация - другая, здесь есть кэш в системе, системные хранилища с, возможно, уже установленными сертификатами.
Автор: Алексей Вдовин 
можно ли закешировать получаемые данные?
Если вы сами заранее их сохраните и будете передавать.
Автор: Алексей Вдовин 
без этой опции проверка не пашет
"Error occurred during building the certification path for the target"
Вероятно, потому что в цепочке нет промежуточного сертификата, который скачивается при enableAIAcaIssuers=true.
Автор: Алексей Вдовин 
подскажите с алгоритмом проверки в 2х словах?
1. получить из файла подписи цепочку сертификатов chain и передать её в verify()
2. получить где-то (скачать или как) список отозванных сертификатов crlList и тоже передать его в verify()
cadesSignature.verify(chain, crlList);
1. Обычно сертификат подписи уже есть в самой подписи. Корневые должны быть установлены в cacerts. Промежуточные сертификаты можно установить туда же, или подавать их в verify (скачав заранее), или использовать enableAIAcaIssuers.
CRL будут скачиваться при проверке, они никуда не сохраняются. Иначе можно скачать их самостоятельно (иногда бывают CRL с большим сроком) и подавать в verify.
Автор: Алексей Вдовин 
где воообще можно качнуть файлики чтобы туда закинуть? в каком формате?
Если имеются в виду сами CRL, то адреса к ним в самих сертификатах. Но сертификаты надо знать заранее. Получается, все-таки вариант с онлайн-проверкой - самый простой.
Если именно при enableAIAcaIssuers=true проверка выполняется очень долго, то попробуйте залогировать операции:
https://support.cryptopr...nlirovnija-kriptopro-jcp и приложить лог
JCPLogger с уровнем ALL
Возможно, только один из адресов в сертификате - рабочий, а по остальным - ошибка по таймауту.
Автор: Алексей Вдовин 
ну и по проверке УЦ вопрос открыт - сейчас файлы подписанные тестовым УЦ спокойно проходят проверку
Все верно. Проверки делаются согласно формату подписи CAdES. Подпись, сделанная в тестовом УЦ в соответствии с форматом, валидна.
Отредактировано пользователем 30 января 2025 г. 12:35:29(UTC)
| Причина: Не указана