Заставить клиента или сервер перезапустить рукопожатие SSL (или истечь сеанс SSL) - PullRequest
0 голосов
/ 04 марта 2019

У меня есть Java-клиент, который подключается к HTTPS-серверу (сервер также написан на Java).Вот настройка HttpClient в клиенте:

SSLContext ctx = SSLContext.getInstance("TLSv1.2");
keyManagers = ...; // Created from a PKIX KeyManagerFactory
trustManagers = ...; // Created from a PKIX TrustManagerFactory
ctx.init(keyManagers, trustManagers, new SecureRandom());
SSLContext.setDefault(ctx);

RequestConfig defaultRequestConfig = RequestConfig.custom()//
       .setSocketTimeout(5000)//
       .setConnectTimeout(5000)//
       .setConnectionRequestTimeout(5000)//
       .build();

httpClient = HttpClients.custom()//
       .setSSLContext(ctx)//
       .setDefaultRequestConfig(defaultRequestConfig)//
       .setSSLHostnameVerifier(new NoopHostnameVerifier())//
       .build();

Сертификат клиента и доверенные сертификаты хранятся в токене PKI.Клиент отправляет некоторые HTTP-запросы на сервер непрерывно.Все работает нормально.Теперь я хочу заставить клиента (или сервер) перезапустить рукопожатие.Другими словами, я хочу обновить SSL-соединение, которое периодически проверяет сертификат сервера.Есть ли способ сделать это?

Я знаю о SSLSessionContext.setSessionTimeout().Но это не обновит текущее соединение (я).Это заставит только новые соединения снова делать рукопожатие.

1 Ответ

0 голосов
/ 05 марта 2019

Для будущих читателей.

Я задаю аналогичный вопрос на security.stackexchange.com без подробностей о программировании.Я думал, что вопрос может быть проблемой безопасности.Однако этот вопрос теперь перенесен с security.stackexchange.com на stackoverflow.com и дает мне убедительный ответ.Предлагаю сослаться на это: https://stackoverflow.com/a/55004572/5538979

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...