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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline worldenemy  
#1 Оставлено : 5 октября 2023 г. 16:38:51(UTC)
worldenemy

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.10.2023(UTC)
Сообщений: 2

При отправке 5 000 одинаковых запросов с клиента на сервер, на некоторых из них (примерно 5-10 на 5 000) происходит "зависание".
Окружение клиента:
JTLS + JCP 2.0.41940-A + Liberica JDK 11.0.17+7
TLS v1.2
Запросы/сертификаты/версии/машины используются одни и те же, канал одинаковый

Проблема проявляется в фазе Generate pre-master-key.

При корректной отправке запроса лог JCP фазы Generate pre-master-key выглядит так:

Перед возникновением проблемы последние строки в логе JCP выглядят следующим образом:

Видно, что в отличие от корректного сценария

Код:
02.10.2023 03:40:53.058  FINER  ru.CryptoPro.Crypto.Key.GostKeyGenerator engineInit: RETURN
02.10.2023 03:40:53.058  FINER  ru.CryptoPro.Crypto.Key.GostKeyGenerator engineGenerateKey: ENTRY
02.10.2023 03:40:53.065  FINER  ru.CryptoPro.Crypto.Key.GostKeyGenerator engineGenerateKey: RETURN
02.10.2023 03:40:53.065  FINER  ru.CryptoPro.Crypto.Cipher.GostCoreCipher engineSetMode: ENTRY

, в логе при возникновении проблемы нет возврата из метода ru.CryptoPro.Crypto.Key.GostKeyGenerator engineGenerateKey
Код:
02.10.2023 03:41:30.822  FINER  ru.CryptoPro.Crypto.Key.GostKeyGenerator engineInit: RETURN
02.10.2023 03:41:30.822  FINER  ru.CryptoPro.Crypto.Key.GostKeyGenerator engineGenerateKey: ENTRY
02.10.2023 03:41:30.830  FINER  ru.CryptoPro.Crypto.Cipher.GostMac engineDoFinal: ENTRY


Так же появляются фрагменты вида:

Код:
02.10.2023 03:41:30.850  FINE  ru.CryptoPro.ssl.SSLSocketImpl close: Finalizer called close()
02.10.2023 03:41:30.850  FINE  ru.CryptoPro.ssl.SSLSocketImpl d: Finalizer, called closeInternal(true)
02.10.2023 03:41:30.850  FINE  ru.CryptoPro.ssl.SSLSocketImpl a: Finalizer, SEND TLSv1.2 ALERT:  warning,  description = close_notify
...
02.10.2023 03:41:30.860  FINE  ru.CryptoPro.ssl.SSLSocketImpl c: Finalizer , called closeSocket(selfInitiated)
...


Алерт close_notify согласно спецификации TLS v1.2 означает окончание передачи данных, и может быть отправлен любой стороной.
Возможно, здесь имеет место ситуация, что клиент в одностороннем порядке закрывает соединение, но причина непонятна: нет ни исключения, ни какого-либо другого алерта со стороны клиента/сервера.

Так как нет возможности подробнее залогировать метод ru.CryptoPro.Crypto.Key.GostKeyGenerator#engineGenerateKey или посмотреть его содержимое, то прошу подсказать, в чем может быть проблема.

Отредактировано пользователем 6 октября 2023 г. 8:45:42(UTC)  | Причина: Не указана

Offline worldenemy  
#2 Оставлено : 6 октября 2023 г. 12:07:23(UTC)
worldenemy

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.10.2023(UTC)
Сообщений: 2

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