我正在尝试提供一个简单的'Hello world!'使用Undertow嵌入式服务器通过HTTPS对自签名证书进行响应。但是,我在客户端(Chrome)上获得ERR_SSL_VERSION_OR_CIPHER_MISMATCH
,在服务器日志中获得SSLHandshakeException: no cipher suites in common
。
除了KeyManager[]
数组之外,我还需要提供TLS协议才能使用,但我无法找到应该放在哪里。完整示例可在https://github.com/isopov/undertow-https-test/blob/master/src/main/java/com/sopovs/moradanen/UndertowHttpsTest.java处获得
虽然在https://github.com/isopov/undertow-https-test/blob/master/src/main/java/com/sopovs/moradanen/JettyHttpsTest.java有使用Jetty服务器进行类似测试的例子(证明证书是好的)。
答案 0 :(得分:1)
此代码更改对我有用:
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(getKeyManagers(), null, null);
Undertow.builder().addHttpsListener(10443, "0.0.0.0", sslContext)...