Skip to content

Commit bafec3f

Browse files
committed
NPN and ALPN are not supported by JDK SSL provider
1 parent 9a63a69 commit bafec3f

File tree

5 files changed

+9
-6
lines changed

5 files changed

+9
-6
lines changed

es51x/src/main/java/tech/beshu/ror/es/SSLTransportNetty4.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ private class SSLHandler extends Netty4HttpServerTransport.HttpChannelHandler {
103103

104104
basicSettings.getAllowedSSLProtocols().ifPresent(allowedProtos -> {
105105
sslcb.applicationProtocolConfig(new ApplicationProtocolConfig(
106-
ApplicationProtocolConfig.Protocol.NPN_AND_ALPN,
106+
ApplicationProtocolConfig.Protocol.NONE,
107107
ApplicationProtocolConfig.SelectorFailureBehavior.CHOOSE_MY_LAST_PROTOCOL,
108108
ApplicationProtocolConfig.SelectedListenerFailureBehavior.ACCEPT,
109109
allowedProtos

es52x/src/main/java/tech/beshu/ror/es/SSLTransportNetty4.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ private class SSLHandler extends Netty4HttpServerTransport.HttpChannelHandler {
106106
if (basicSettings.getAllowedSSLProtocols().isPresent()) {
107107
List<String> protocols = basicSettings.getAllowedSSLProtocols().get();
108108
sslcb.applicationProtocolConfig(new ApplicationProtocolConfig(
109-
ApplicationProtocolConfig.Protocol.NPN_AND_ALPN,
109+
ApplicationProtocolConfig.Protocol.NONE,
110110
ApplicationProtocolConfig.SelectorFailureBehavior.CHOOSE_MY_LAST_PROTOCOL,
111111
ApplicationProtocolConfig.SelectedListenerFailureBehavior.ACCEPT,
112112
protocols

es53x/src/main/java/tech/beshu/ror/es/SSLTransportNetty4.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import io.netty.handler.ssl.NotSslRecordException;
3030
import io.netty.handler.ssl.SslContext;
3131
import io.netty.handler.ssl.SslContextBuilder;
32+
import io.netty.handler.ssl.SslProvider;
3233
import org.elasticsearch.common.logging.Loggers;
3334
import org.elasticsearch.common.network.NetworkService;
3435
import org.elasticsearch.common.settings.Settings;
@@ -91,18 +92,21 @@ private class SSLHandler extends Netty4HttpServerTransport.HttpChannelHandler {
9192

9293
new SSLCertParser(basicSettings, logger, (certChain, privateKey) -> {
9394
try {
95+
SslProvider provider = SslContext.defaultServerProvider();
96+
logger.info("SSL: using provider " + provider.toString());
9497
// #TODO expose configuration of sslPrivKeyPem password? Letsencrypt never sets one..
9598
SslContextBuilder sslcb = SslContextBuilder.forServer(
9699
new ByteArrayInputStream(certChain.getBytes(StandardCharsets.UTF_8)),
97100
new ByteArrayInputStream(privateKey.getBytes(StandardCharsets.UTF_8)),
98101
null
99-
);
102+
)
103+
.sslProvider(provider);
100104

101105
basicSettings.getAllowedSSLCiphers().ifPresent(sslcb::ciphers);
102106

103107
basicSettings.getAllowedSSLProtocols().ifPresent(allowedProtos -> {
104108
sslcb.applicationProtocolConfig(new ApplicationProtocolConfig(
105-
ApplicationProtocolConfig.Protocol.NPN_AND_ALPN,
109+
ApplicationProtocolConfig.Protocol.NONE,
106110
ApplicationProtocolConfig.SelectorFailureBehavior.CHOOSE_MY_LAST_PROTOCOL,
107111
ApplicationProtocolConfig.SelectedListenerFailureBehavior.ACCEPT,
108112
allowedProtos

es61x/src/main/java/tech/beshu/ror/es/SSLTransportNetty4.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242

4343
import java.io.ByteArrayInputStream;
4444
import java.nio.charset.StandardCharsets;
45-
import java.util.List;
4645
import java.util.Optional;
4746

4847
public class SSLTransportNetty4 extends Netty4HttpServerTransport {

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
publishedPluginVersion=1.16.14
2-
pluginVersion=1.16.15-pre3
2+
pluginVersion=1.16.15-pre4
33
pluginName=readonlyrest

0 commit comments

Comments
 (0)