Статус: Новичок
Группы: Участники
Зарегистрирован: 21.06.2022(UTC) Сообщений: 5 Сказал(а) «Спасибо»: 1 раз
|
Добрый день, подниму эту тему. Я создаю Cades-T, код такой: Код: fun sign(pKey: PrivateKey, cert: X509Certificate, data: ByteArray): ByteArray {
val cadesSignature = CAdESSignature(true)
cadesSignature.certificateStore = JcaCertStore(listOf(cert))
val crlUrls = AdESUtility.getCrlUrls(cert)
log.info("CRL urls $crlUrls")
log.info(">>> start dl crl")
val crl = X509CRLImpl(URL("http://uc.nalog.ru/cdp/4e5c543b70fefd74c7597304f2cacad7967078e4.crl").readBytes())
log.info(">>> start add signer")
cadesSignature.addSigner(
"JCSP",
//getDigestOid(pKey),
null,
//getPublicKeyOid(pKey),
null,
pKey,
listOf(cert),
CAdESType.CAdES_T,
tspServer, //http://uc.nalog.ru/tsp/tsp.srf
false,
null,
null,
setOf(crl),
)
log.info(">>> end add signer")
log.info("cades sign created")
val cadesOut = ByteArrayOutputStream()
cadesSignature.open(cadesOut)
cadesSignature.update(data)
cadesSignature.close()
log.info("cades sign done")
return cadesOut.toByteArray()
}
в переменной crl - тот CRL, который прописан в свойствах сертификата. Выставил лог в уровень trace, и вижу что при создании подписи, в независимости от того передан последним аргументом setOf(crl) или null, идет обращение не только к http://uc.nalog.ru/cdp/4...304f2cacad7967078e4.crl, но еще и к http://reestr-pki.ru/cdp/guc_gost12.crl, http://company.rt.ru/cdp/guc_gost12.crl, http://rostelecom.ru/cdp/guc_gost12.crlКак-то можно избежать обращения к дополнительным CRL? Или хотя бы только к одному из них обращаться, тк все 3 дополнительных CRL совпадают. Другой момент, скачивание всех 4 CRL происходит почти каждый раз при подписании данных. При подписании происход несколько обращений к каждому CRL, первое идет с сообщением Downloading new CRL..., последующие с сообщением cache hit, но при попытке создать новую подпсь (без перезагрузки JVM), опять Downloading new CRL... Иногда cache hit, но чаще нет. В результате, подписание занимет около минуты, тк CRL загружаются довольно долго. Как-то можно настроить срок хранения CRL в кэше? От чего он зависит? Спасибо! java-csp-5.0.42119-A CSP 5.0.12000 KC1
|