Apache httpcore 5.3.3. Проблема конфигурации SSLContext: Тайм -аут сервера с indclientauthApache

Ответить
Anonymous
 Apache httpcore 5.3.3. Проблема конфигурации SSLContext: Тайм -аут сервера с indclientauth

Сообщение Anonymous »

Я сталкиваюсь с проблемой с Httpserver от Apache httpcore после обновления библиотеки с версии 5.2.3 до 5.3. Когда аутентификация клиента (SetNeedClientAuth (true)) включена, и TrustStore не настроен, сервер не отвечает, а клиент испытывает тайм -аут. Эта проблема не возникла в версии 5.2.3, где сервер будет обрабатывать запрос по -разному. После обновления сервер, кажется, висит, не предоставляя никакого ответа.
шаги для воспроизведения:
включить аутентификацию клиента на сервере с помощью socket.setneedclientauth (true).
Не настраивайте доверие для сервера. Аутентификация клиента включена.
орг.springframework.web.client.resourceccessexception: ошибка ввода/вывода при пост -запросе «https: localhost: 56433/hello»: Построение пути PKIX Не удалось: sun.security.provider.certpath.suncertpathbuilderex: Uncable revitiate. />
Фактическое поведение:
Сервер не отвечает, а клиент времени выходит. /> < /ul>

HttpServer server = ServerBootstrap.bootstrap()
.setSocketConfig(SocketConfig.custom()
.setSoTimeout(Timeout.ofSeconds(2))
.build())
.setListenerPort(8443)
.setSslContext(createSSLContext()) // SSLContext without truststore
.setSslSetupHandler(socket -> socket.setNeedClientAuth(true))
.register("/hello", (request, response, context) -> {
response.setCode(HttpStatus.SC_OK);
response.setEntity(new StringEntity("Hello", ContentType.TEXT_PLAIN));
})
.create();

server.start();
< /code>
public static SSLContext createSSLContext() throws Exception {
// Load the keystore
KeyStore keyStore = KeyStore.getInstance("JKS");
keyStore.load(SSLUtil.class.getResourceAsStream("/keystore.jks"), "keystorePassword".toCharArray());

// Initialize KeyManagerFactory with the keystore
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
keyManagerFactory.init(keyStore, "keyPassword".toCharArray());

// Initialize TrustManagerFactory without a truststore (missing truststore configuration)
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
trustManagerFactory.init((KeyStore) null); // No truststore provided

// Create and initialize the SSLContext
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers(), null);

return sslContext;
}
< /code>
Из -за этой проблемы некоторые из модульных тестовых случаев начинаются после обновления библиотеки. Если да, то для обработки этого сценария требуется обходной путь или изменение конфигурации? Или есть изменение поведения в версии 5.3, которое мне нужно учитывать?


Подробнее здесь: https://stackoverflow.com/questions/795 ... ith-needcl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Apache»