#java #ssl #routes #tls1.2 #vert.x
#java #ssl #маршруты #tls1.2 #vert.x
Вопрос:
У меня есть проект, основанный на Vertx
платформе на основе Java, где у меня мало внутренних вызовов API. Итак, у меня есть API, открытый в порту XXXX
(с настроенным TLS — HTTPS
), и внутри этого вызова API я вызываю другой балансировщик нагрузки, который находится внутри HTTP
. Итак, мне нужно завершить MTLS перед вызовом балансировщика нагрузки Http.
Ниже приведен пример фрагмента для POST
вызова VertX:
private void handleDownstreamRequest(RoutingContext routingContext, String downstreamUrl) {
VertxUtil.assertOnVertxEventLoop();
client.postAbs(downstreamUrl) // POST request
.sendJson(
routingContext.getBody(),
ar -> {
asyncHttpResponseHandler(ar, routingContext);
});
}
Я хотел знать, как завершить TLS в Vertx Framework. Существует ли какая-либо встроенная библиотека, предоставляемая Vertx для завершения MTLS, или любой пример фрагмента кода также поможет.
Ответ №1:
Настройка HTTP-сервера для Вы можете настроить HTTP-сервер на использование центра сертификации для проверки подлинности клиентов:
HttpServerOptions options = new HttpServerOptions()
.setSsl(true)
.setClientAuth(ClientAuth.REQUIRED)
.setTrustStoreOptions(
new JksOptions()
.setPath("/path/to/your/truststore.jks")
.setPassword("password-of-your-truststore")
);
HttpServer server = vertx.createHttpServer(options);
В приведенном выше примере предполагается, что у вас есть хранилище доверия Java, но Vert.x также поддерживает форматы PFX / PEM.
Комментарии:
1. поможет ли это прервать соединение mTLS?