2

我正在尝试提供一个简单的“Hello world!” 使用 Undertow 嵌入式服务器通过带有自签名证书的 HTTPS 响应。但是我ERR_SSL_VERSION_OR_CIPHER_MISMATCH在客户端(Chrome)和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 服务器进行类似测试的示例(证明证书是好的)。

4

1 回答 1

1

对代码的这种更改对我有用:

    SSLContext sslContext = SSLContext.getInstance("TLS");
    sslContext.init(getKeyManagers(), null, null);

    Undertow.builder().addHttpsListener(10443, "0.0.0.0", sslContext)...
于 2014-10-28T07:50:20.030 回答