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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Анатолий Широков  
#1 Оставлено : 1 декабря 2025 г. 13:29:31(UTC)
Анатолий Широков

Статус: Активный участник

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

Сказал «Спасибо»: 14 раз
Добрый день!

Есть код инициализирующий SSLContext для общения с КриптоПро УЦ 2.0, в частности инициализация ключа обмена:

Код:
    //
    // Загрузить приватный ключ обмена
    //
    final String certificateAlias = properties.getAuthorization().getCertificate().getName();
    final InputStream container = new StoreInputStream(certificateAlias);
    final KeyStore ks = KeyStore.getInstance(JCSP.HD_STORE_NAME, JCSP.PROVIDER_NAME);
    this.logger.debug("createSender: load the {} key container", certificateAlias);
    ks.load(container, null);
    //
    // Получить сертификат ключа
    //
    this.logger.debug("createSender: load the {} certificate", certificateAlias);
    final Certificate certificate = ks.getCertificate(certificateAlias);
    if( certificate == null ) {
      throw new IllegalStateException("Configuration error: Cannot find the %s certificate".formatted(certificateAlias));
    }
    final X509Certificate x509 = (X509Certificate) certificate;
    this.logger.debug("createSender: gather certificate revocation list for certificate: {}", x509);



Есть два КриптоПро УЦ: тестовый и продовый. Если два контейнера ключей тестового и продового операторов КриптоПро УЦ. Так вот, при получении сертификата, связанного с закрытым ключом (ks.getCertificate(certificateAlias)) я наблюдаю разное поведение при получении сертификата тестового контейнера и продового:

При получение сертификата из контейнера ключа тестового оператора:

Код:
--2025-12-01T09:50:39.957Z -DEBUG 1 --- [crypto-agent] [           main] -r.r.c.c.c.ca2.RegAuthLegacyService       : [] [] [] createSender: load the 2025-01-22-test-ca-operator key container
--2025-12-01T09:50:39.957Z -DEBUG 1 --- [crypto-agent] [           main] -r.r.c.c.c.ca2.RegAuthLegacyService       : [] [] [] createSender: load the 2025-01-22-test-ca-operator certificate
--2025-12-01T09:50:40.356Z -DEBUG 1 --- [crypto-agent] [           main] -r.r.c.c.c.ca2.RegAuthLegacyService       : [] [] [] createSender: gather certificate revocation list for certificate: [


вызов getCertificate идет около 1 секунды.

При получении же сертификата из контейнера ключа продового оператора я наблюдаю зарежку около 2 минут:

Код:
--2025-12-01T09:50:41.072Z -DEBUG 1 --- [crypto-agent] [           main] -r.r.c.c.c.ca2.RegAuthLegacyService       : [] [] [] createSender: load the rolis-ca-operator-2025-10-10 key container
--2025-12-01T09:50:41.072Z -DEBUG 1 --- [crypto-agent] [           main] -r.r.c.c.c.ca2.RegAuthLegacyService       : [] [] [] createSender: load the rolis-ca-operator-2025-10-10 certificate
--2025-12-01T09:52:31.780Z -DEBUG 1 --- [crypto-agent] [           main] -r.r.c.c.c.ca2.RegAuthLegacyService       : [] [] [] createSender: gather certificate revocation list for certificate: [


Включено логирование КриптоПро, но ничего в логе нет в этот момент. Количество HDIMAGE контейнеров порядка 300. Установлены следующие параметры при старте сервиса:
Код:
       -Dsun.misc.URLClassPath.disableJarChecking=true \
       -Dcom.sun.security.enableCRLDP=false \
       -Dcom.ibm.security.enableCRLDP=false \
       -Dru.CryptoPro.reprov.enableAIAcaIssuers=false


Что происходит в эти 2 минуты задержки при получении сертификата связанного именно с контейнером продового оператора?

UPDATED: выяснилось одно обстоятельство: сертификат продового ключа rolis-ca-operator-2025-10-10 уже просрочен. При вызове getCertificate это может влиять на такую задержку?

Спасибо!

Отредактировано пользователем 1 декабря 2025 г. 13:55:07(UTC)  | Причина: Не указана

Offline Санчир Момолдаев  
#2 Оставлено : 2 декабря 2025 г. 1:20:41(UTC)
Санчир Момолдаев

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

Группы: Администраторы, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,238
Российская Федерация

Сказал(а) «Спасибо»: 106 раз
Поблагодарили: 300 раз в 278 постах
Добрый день!

тестовый и продовый контейнер расположены на одном и том же сервере под одним и тем же пользователем?
или это все же разные сервера?
Техническую поддержку оказываем тут
Наша база знаний
Offline Анатолий Широков  
#3 Оставлено : 2 декабря 2025 г. 10:15:12(UTC)
Анатолий Широков

Статус: Активный участник

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

Сказал «Спасибо»: 14 раз
Автор: Санчир Момолдаев Перейти к цитате
Добрый день!

тестовый и продовый контейнер расположены на одном и том же сервере под одним и тем же пользователем?
или это все же разные сервера?


Это все один сервер, одна конфигурация, купюры лога одного и того же запуска. Почему обратили внимание? Сервис стал стартовать с задержкой. Начали выяснять и локализовали вызов KeyStore.getCertificate, который выполняется с большой задержкой на просроченном сертификате. Еще раз обращу внимание, что HDIMAGE контейнеров около 300. На малом количестве контейнеров задержка нивелируется.

Отредактировано пользователем 2 декабря 2025 г. 10:25:32(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#4 Оставлено : 2 декабря 2025 г. 11:43:48(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 741 раз в 698 постах
Добрый день.

Не сталкивался с таким. Кроме срока и издателя, сертификаты чем-то отличаются?

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