Статус: Новичок
Группы: Участники
Зарегистрирован: 04.04.2022(UTC) Сообщений: 6
|
Добрый день! При формировании подписи ловим ошибку Цитата:exceptionClass: ru.CryptoPro.AdES.exception.AdESException message: Validation failed for the target: serial: … subject: … issuer: … not before: Wed Oct 16 16:21:39 GMT+03:00 2024 not after: Fri Jan 16 16:31:39 GMT+03:00 2026 signature provider: JCSP validation date: null revocation algorithm: CPPKIX revocation validator: RevCheck online (crl list is empty): true For online validation (by CRL DP) 'com.sun.security.enableCRLDP' (for Oracle), or 'com.ibm.security.enableCRLDP' (for IBM) must be set to 'true', or 'ocsp.enable' must be set to 'true' (OCSP) with other options (responder etc.), or CRL list must be set for offline validation stackTrace: ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl.validate(Unknown Source:510) ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl.validate(Unknown Source:210) ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl.validate(Unknown Source:67) ru.CryptoPro.CAdES.AbstractCAdESSignature.addSigner(Unknown Source:366) com.a2soft.crypto_pro_flutter.CryptoProModule.sign(CryptoProModule.kt:285) com.a2soft.crypto_pro_flutter.CryptoProModule.signFile(CryptoProModule.kt:204) com.a2soft.crypto_pro_flutter.CryptoProFlutterPlugin$onMethodCall$12.invokeSuspend(CryptoProFlutterPlugin.kt:168) kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115) kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100) kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) errorCodes: [44] errorDescriptions: {44=Certificate status is unknown or revoked} Опытным путем выяснили, что CRL-лист в сертификате недоступен с определенного интернет-оператора, с которого и получаем данную ошибку. (Проверить на других операторах и этом сертификате нет возможности). Подскажите, если CRL-лист недоступен, что происходит дальше? Выполняется ли проверка по OCSP? Или можно с уверенностью сказать, что, если CRL не смогли достать, то словим эту ошибку? Спасибо!
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,045  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 733 раз в 691 постах
|
Здравствуйте. При создании/проверке подписей CAdES-BES, CAdES-T проверка статуса выполняется по CRL. Если его нет/он недоступен/он не подходит, то будет ошибка. Далее можно либо настроить проверку по ocsp, либо отключить ее. Настройка делается путем задания свойств (нужны не все сразу, в интернете есть описание) Код:
Security.setProperty("ocsp.enable", "true");
Security.setProperty("ocsp.responderURL", ocsp-url);
Security.setProperty("ocsp.responderCertSubjectName", ocsp-cert-subject); // можно не задавать
Security.setProperty("ocsp.responderCertIssuerName", ocsp-cert-issuer);
Security.setProperty("ocsp.responderCertSerialNumber", ocsp-cert-serial);
для того сертификата, для которого нет CRL: обычно это сертификат подписанта, а для промежуточных есть CRL. А отключить проверку можно так: https://www.cryptopro.ru...&m=147046#post147046 |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close