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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline НаталияНаталия  
#1 Оставлено : 10 апреля 2026 г. 17:14:15(UTC)
НаталияНаталия

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

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

Сказал(а) «Спасибо»: 4 раз
Добрый день,

Мы столкнулись с большим временем улучшения CAdES-BES до CAdES-T:
Цитата:
CAdESSignature cadesSignature = new CAdESSignature(testFile, null, null);
CAdESSigner signer = cadesSignature.getCAdESSignerInfo(0);

// Усовершенствуем подпись данного подписанта до CAdES-T.
signer = signer.enhance(JCP.PROVIDER_NAME, JCP.GOST_DIGEST_OID, null,
"http://qs.cryptopro.ru/tsp/tsp.srf", CAdESType.CAdES_T);


Для подписей, выпущенных ФНС (обычно для генеральных директоров) очень долгий процесс проверки CRL (до 20 секунд):
Цитата:
17:17:07.990 FINE [http-nio-9996-exec-11] ru.CryptoPro.reprov.certpath.URICertStore.engineGetCRLs Connecting: http://pki.tax.gov.ru/cd...976a3e641689a1f8553c.crl
17:17:18.045 FINE [http-nio-9996-exec-11] ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl.validate Certificate chain is valid.
...
17:17:18.085 FINE [http-nio-9996-exec-11] ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl.validate Verifying the certificate chain (online) by use of CRL
17:17:22.172 FINE [http-nio-9996-exec-11] ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl.validate Certificate chain is valid.
...
17:17:22.181 FINE [http-nio-9996-exec-11] ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl.validate %%% Verifying the certificate chain for the target certificate
serial number:...
subject:....
issuer: CN=Федеральная налоговая служба, O=Федеральная налоговая служба, STREET="ул. Неглинная, д. 23", L=г. Москва, ST=77 Москва, C=RU, OID.1.2.643.100.1=#120D31303437373037303330353133, EMAILADDRESS=uc@tax.gov.ru, OID.1.2.643.100.4=#120A37373037333239313532
signature provider: JCP
validation date: null
revocation algorithm: CPPKIX
revocation validator: RevCheck
online: true
%%%
17:17:26.261 FINE [http-nio-9996-exec-11] ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl.validate Certificate chain is valid.
....
17:17:26.327 FINE [http-nio-9996-exec-11] ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl.validate Verifying the certificate chain (online) by use of CRL
17:17:30.343 FINE [http-nio-9996-exec-11] ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl.validate Certificate chain is valid.


В логах выше по таймингу весь процесс усовершенствования подписи занял 23 секунды на подпись. Что с учетом большого объема подписанных файлов вызывает у директоров негатив. Для сертификатов физлиц, выданных другими УЦ, такой проблемы нет.

Далее мы пытались использовать опцию: которая заявлена как "Отключение проверки"
Цитата:
cadesSignature.setOptions(new Options().disableCertificateValidation());


Исходя из логов (проверялось на обычной подписи физлица, тк нет возможности для тестов использовать подпись ГД), проверка CRL так же происходит:
Цитата:
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore a
FINER: CertStore URI: http://crl.gosuslugi.ru/cdp/guc2022.crl
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINE: Connecting: http://crl.gosuslugi.ru/cdp/guc2022.crl
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINER: Downloading new CRL...
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINER: Generating new CRL...
...
4:10:07 PM ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl validate
FINE: Verifying the certificate chain (online) by use of CRL
...
4:10:07 PM ru.CryptoPro.reprov.certpath.CrlRevocationChecker a
FINER: CrlRevocationChecker.verifyRevocationStatus() ---checking revocation status...
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore a
FINER: CertStore URI: http://ca.sertum-pro.ru/cdp/sertum-pro-2024.crl
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINE: Connecting: http://ca.sertum-pro.ru/cdp/sertum-pro-2024.crl


Есть ли какой-то способ оптимизировать время усовершенствования подписи?
Заранее спасибо
Offline Андрей *  
#2 Оставлено : 10 апреля 2026 г. 17:17:06(UTC)
Андрей *

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

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

Сказал «Спасибо»: 617 раз
Поблагодарили: 2382 раз в 1874 постах
Здравствуйте.

Проверяется по CRL, а есть возможность указать проверку статуса по OCSP?
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#3 Оставлено : 10 апреля 2026 г. 17:22:59(UTC)
Андрей *

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

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

Сказал «Спасибо»: 617 раз
Поблагодарили: 2382 раз в 1874 постах
Техническую поддержку оказываем тут
Наша база знаний
Offline НаталияНаталия  
#4 Оставлено : 10 апреля 2026 г. 18:50:19(UTC)
НаталияНаталия

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

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

Сказал(а) «Спасибо»: 4 раз
Автор: Андрей * Перейти к цитате
Здравствуйте.

Проверяется по CRL, а есть возможность указать проверку статуса по OCSP?


Здравствуйте, мы пробовали выставить:
Цитата:

System.setProperty("com.sun.security.enableCRLDP", "false");
System.setProperty("com.ibm.security.enableCRLDP", "false");
System.setProperty("ocsp.enable", "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; error codes: [44] 'Certificate status is unknown or revoked',

Хотя УРЛ ocsp в сертификате, на котором тестировали есть. Возможно, jcp хочет responderURL, но у нас сотни пользователей и их сертификаты выданы различными УЦ, соответственно указать один УРЛ мы не можем.


Автор: Андрей * Перейти к цитате
https://cryptopro.ru/forum2/default.aspx?g=posts&m=154574#post154574


Прочла тему, там из предложений был вариант отключения cadesSignature.setOptions(new Options().disableCertificateValidation());, что у нас почему-то не сработало, либо подавать локальный CRL, но как я уже писала, у нас сотни пользователей с сертификатами от различных УЦ, тоже не подходит.
Возможно есть какой-то способ, но мы не придумали.

Отредактировано пользователем 10 апреля 2026 г. 18:53:50(UTC)  | Причина: Не указана

Offline Андрей *  
#5 Оставлено : 10 апреля 2026 г. 20:18:53(UTC)
Андрей *

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

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

Сказал «Спасибо»: 617 раз
Поблагодарили: 2382 раз в 1874 постах
А зачем отключили работу с CRL?
Сертификат УЦ ФНС не сможет проверить на отзыв, у Минцифры нет OCSP.

Техническую поддержку оказываем тут
Наша база знаний
Offline НаталияНаталия  
#6 Оставлено : 10 апреля 2026 г. 20:53:27(UTC)
НаталияНаталия

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

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

Сказал(а) «Спасибо»: 4 раз
Автор: Андрей * Перейти к цитате
А зачем отключили работу с CRL?
Сертификат УЦ ФНС не сможет проверить на отзыв, у Минцифры нет OCSP.


Отключили, тк Минцифра в доверенных, не ожидали что нужно будет проверять ее статус.
При включении обратно
Цитата:
System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");
System.setProperty("ocsp.enable", "true");

ошибки нет.

Но опять смущает запись в логах:
Цитата:
8:38:16 PM ru.CryptoPro.reprov.certpath.CrlRevocationChecker a
FINER: CrlRevocationChecker.verifyRevocationStatus() ---checking revocation status...
8:38:16 PM ru.CryptoPro.reprov.certpath.URICertStore a
FINER: CertStore URI: http://ca.sertum-pro.ru/cdp/sertum-pro-2024.crl
8:38:16 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINE: Connecting: http://ca.sertum-pro.ru/cdp/sertum-pro-2024.crl
8:38:17 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINER: Downloading new CRL...

Т.е. JCP опять пытается скачать crl промежуточного УЦ (т.е. в случае сертификатов ГД это будет ФНС) и будут снова задержки по 20с.
Причем при улучшении подписи для физлиц есть записи что берется CRL из кэша, с ФНС такой записи нет.

И непонятно почему не срабатывает отключение проверки (в одной из тем было указано что она должна отключать проверку и при именно усовершенствовании CAdES-BES -> CAdES-T )
Цитата:
cadesSignature.setOptions(new Options().disableCertificateValidation());
Offline Евгений Афанасьев  
#7 Оставлено : 12 апреля 2026 г. 18:15:42(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,083
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 22 раз
Поблагодарили: 746 раз в 703 постах
Здравствуйте. disableCertificateValidation точно выставляется для создания или усовершенствования, а не проверки подписи? На проверку подписи эта настройка не влияет.
Offline НаталияНаталия  
#8 Оставлено : 13 апреля 2026 г. 17:27:52(UTC)
НаталияНаталия

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

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

Сказал(а) «Спасибо»: 4 раз
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте. disableCertificateValidation точно выставляется для создания или усовершенствования, а не проверки подписи? На проверку подписи эта настройка не влияет.


Здравствуйте, Евгений. Полный код такой:
Цитата:
CAdESSignature cadesSignature = new CAdESSignature(testFile, null, null);
cadesSignature.setOptions(new Options().disableCertificateValidation());
CAdESSigner signer = cadesSignature.getCAdESSignerInfo(0);

// Усовершенствуем подпись данного подписанта до CAdES-T.
signer = signer.enhance(JCP.PROVIDER_NAME, JCP.GOST_DIGEST_OID, null,
"http://qs.cryptopro.ru/tsp/tsp.srf", CAdESType.CAdES_T);


И тот кусок в логах, где видно обращение за CRL, относится к вызову enhance:
Цитата:
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore a
FINER: CertStore URI: http://crl.gosuslugi.ru/cdp/guc2022.crl
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINE: Connecting: http://crl.gosuslugi.ru/cdp/guc2022.crl
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINER: Downloading new CRL...
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINER: Generating new CRL...
...
4:10:07 PM ru.CryptoPro.AdES.certificate.BaseCertificateChainValidatorImpl validate
FINE: Verifying the certificate chain (online) by use of CRL
...
4:10:07 PM ru.CryptoPro.reprov.certpath.CrlRevocationChecker a
FINER: CrlRevocationChecker.verifyRevocationStatus() ---checking revocation status...
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore a
FINER: CertStore URI: http://ca.sertum-pro.ru/cdp/sertum-pro-2024.crl
4:10:07 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINE: Connecting: http://ca.sertum-pro.ru/cdp/sertum-pro-2024.crl
Offline Евгений Афанасьев  
#9 Оставлено : 13 апреля 2026 г. 17:51:16(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,083
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 22 раз
Поблагодарили: 746 раз в 703 постах
Вот так:
Код:

CAdESSignature cadesSignature = new CAdESSignature(testFile, null, null);
CAdESSigner signer = cadesSignature.getCAdESSignerInfo(0);
signer.setOptions(new Options().disableCertificateValidation()); // <--- !!!

// Усовершенствуем подпись данного подписанта до CAdES-T.
signer = signer.enhance(JCP.PROVIDER_NAME, JCP.GOST_DIGEST_OID, null,
"http://qs.cryptopro.ru/tsp/tsp.srf", CAdESType.CAdES_T);
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
Андрей * оставлено 13.04.2026(UTC)
Offline НаталияНаталия  
#10 Оставлено : 14 апреля 2026 г. 12:15:12(UTC)
НаталияНаталия

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

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

Сказал(а) «Спасибо»: 4 раз
Автор: Евгений Афанасьев Перейти к цитате
Вот так:
Код:

CAdESSignature cadesSignature = new CAdESSignature(testFile, null, null);
CAdESSigner signer = cadesSignature.getCAdESSignerInfo(0);
signer.setOptions(new Options().disableCertificateValidation()); // <--- !!!

// Усовершенствуем подпись данного подписанта до CAdES-T.
signer = signer.enhance(JCP.PROVIDER_NAME, JCP.GOST_DIGEST_OID, null,
"http://qs.cryptopro.ru/tsp/tsp.srf", CAdESType.CAdES_T);


Добрый день, попробовали такой вариант, исходя из логов по прежнему скачивает CRL промежуточного УЦ:
Цитата:
апр. 14, 2026 12:03:46 PM ru.CryptoPro.reprov.certpath.CrlRevocationChecker a
FINER: CrlRevocationChecker.verifyRevocationStatus() ---checking revocation status...
апр. 14, 2026 12:03:46 PM ru.CryptoPro.reprov.certpath.URICertStore a
FINER: CertStore URI: http://ca.sertum-pro.ru/cdp/sertum-pro-2024.crl
апр. 14, 2026 12:03:46 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINE: Connecting: http://ca.sertum-pro.ru/cdp/sertum-pro-2024.crl
апр. 14, 2026 12:03:46 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINER: Downloading new CRL...
апр. 14, 2026 12:03:46 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINER: Generating new CRL...
апр. 14, 2026 12:03:46 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINER: CRL has been generated.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.