У нас есть рабочая конфигурация Apache mod_ssl. Я хочу включить поддержку HTTPS для Undertow, чтобы он прослушивал как http, так и https, тем самым избавляя от необходимости Apache.Включение HTTPS в Undertow
Я изучил javadocs Undertow. Класс Undertow.Builder имеет два метода addHttpsListener со следующими подписями:
public Builder addHttpsListener(int port, String host,
KeyManager[] keyManagers, TrustManager[] trustManagers);
public Builder addHttpsListener(int port, String host,
SSLContext sslContext) {
Так что, кажется, я могу использовать их, когда развернув Undertow с помощью Builder API, например,
Undertow server = Undertow.builder()
.addHttpsListener(8443, "localhost", sslContext)
.build();
Я не уверен, хотя, как создать переменную SSLContext, или как настроить KeyManagers и TrustManagers. Имея файлы сертификата, которые используются mod_ssl, как я могу продолжить, включив HTTPS для Undertow?
UPDATE:
За ответ hwellmann, я уже повторно SslContextFactory.createSslContext()
метод. До этого мне пришлось преобразовать пару открытых/закрытых ключей в формат PKCS12 и импортировать их в хранилище ключей Java.
Придание преобразования/импорта команд преобразования SSL (взятые из here и here) ниже, надеюсь, это будет полезно для тех, кто:
# Convert to PKCS12
$ openssl pkcs12 -export -out output_cert.pfx -inkey input_cert.key -in input_cert.crt -certfile intermediate.crt
# Import into Java keystore
$ keytool -v -importkeystore -srckeystore output_cert.pfx -srcstoretype PKCS12 -destkeystore output_store.jks -deststoretype JKS
спасибо ! Это сработало! – siphiuel