This is an automated email from the ASF dual-hosted git repository.
stoty pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new bdefd1e1249 HBASE-29444 Default to JRE default TLS protcol list (#7142)
bdefd1e1249 is described below
commit bdefd1e124912f654baeac8e5ae9229a29095017
Author: Istvan Toth <[email protected]>
AuthorDate: Mon Jul 28 08:48:00 2025 +0200
HBASE-29444 Default to JRE default TLS protcol list (#7142)
---
.../apache/hadoop/hbase/io/crypto/tls/X509Util.java | 19 ++++++++++++++-----
.../hadoop/hbase/io/crypto/tls/TestX509Util.java | 11 ++++++++++-
2 files changed, 24 insertions(+), 6 deletions(-)
diff --git
a/hbase-common/src/main/java/org/apache/hadoop/hbase/io/crypto/tls/X509Util.java
b/hbase-common/src/main/java/org/apache/hadoop/hbase/io/crypto/tls/X509Util.java
index a233050994f..273cf938c87 100644
---
a/hbase-common/src/main/java/org/apache/hadoop/hbase/io/crypto/tls/X509Util.java
+++
b/hbase-common/src/main/java/org/apache/hadoop/hbase/io/crypto/tls/X509Util.java
@@ -87,7 +87,6 @@ public final class X509Util {
public static final String TLS_CIPHER_SUITES = CONFIG_PREFIX +
"ciphersuites";
public static final String TLS_CERT_RELOAD = CONFIG_PREFIX + "certReload";
public static final String TLS_USE_OPENSSL = CONFIG_PREFIX + "useOpenSsl";
- public static final String DEFAULT_PROTOCOL = "TLSv1.2";
//
// Server-side specific configs
@@ -206,7 +205,10 @@ public final class X509Util {
}
sslContextBuilder.enableOcsp(sslOcspEnabled);
- sslContextBuilder.protocols(getEnabledProtocols(config));
+ String[] enabledProtocols = getEnabledProtocols(config);
+ if (enabledProtocols != null) {
+ sslContextBuilder.protocols(enabledProtocols);
+ }
String[] cipherSuites = getCipherSuites(config);
if (cipherSuites != null) {
sslContextBuilder.ciphers(Arrays.asList(cipherSuites));
@@ -276,7 +278,10 @@ public final class X509Util {
}
sslContextBuilder.enableOcsp(sslOcspEnabled);
- sslContextBuilder.protocols(getEnabledProtocols(config));
+ String[] enabledProtocols = getEnabledProtocols(config);
+ if (enabledProtocols != null) {
+ sslContextBuilder.protocols(enabledProtocols);
+ }
String[] cipherSuites = getCipherSuites(config);
if (cipherSuites != null) {
sslContextBuilder.ciphers(Arrays.asList(cipherSuites));
@@ -391,9 +396,13 @@ public final class X509Util {
private static String[] getEnabledProtocols(Configuration config) {
String enabledProtocolsInput = config.get(TLS_ENABLED_PROTOCOLS);
if (enabledProtocolsInput == null) {
- return new String[] { config.get(TLS_CONFIG_PROTOCOL, DEFAULT_PROTOCOL)
};
+ enabledProtocolsInput = config.get(TLS_CONFIG_PROTOCOL);
+ }
+ if (enabledProtocolsInput != null) {
+ return enabledProtocolsInput.split(",");
+ } else {
+ return null;
}
- return enabledProtocolsInput.split(",");
}
private static String[] getCipherSuites(Configuration config) {
diff --git
a/hbase-common/src/test/java/org/apache/hadoop/hbase/io/crypto/tls/TestX509Util.java
b/hbase-common/src/test/java/org/apache/hadoop/hbase/io/crypto/tls/TestX509Util.java
index 7f8d7c82b89..bc70b844e05 100644
---
a/hbase-common/src/test/java/org/apache/hadoop/hbase/io/crypto/tls/TestX509Util.java
+++
b/hbase-common/src/test/java/org/apache/hadoop/hbase/io/crypto/tls/TestX509Util.java
@@ -96,7 +96,16 @@ public class TestX509Util extends
AbstractTestX509Parameterized {
public void testCreateSSLContextWithoutCustomProtocol() throws Exception {
SslContext sslContext = X509Util.createSslContextForClient(conf);
ByteBufAllocator byteBufAllocatorMock = mock(ByteBufAllocator.class);
- assertArrayEquals(new String[] { X509Util.DEFAULT_PROTOCOL },
+ assertArrayEquals(new String[] { "TLSv1.3", "TLSv1.2" },
+ sslContext.newEngine(byteBufAllocatorMock).getEnabledProtocols());
+ }
+
+ @Test
+ public void testCreateTcNativeSSLContextWithoutCustomProtocol() throws
Exception {
+ conf.set(X509Util.TLS_USE_OPENSSL, "true");
+ SslContext sslContext = X509Util.createSslContextForClient(conf);
+ ByteBufAllocator byteBufAllocatorMock = mock(ByteBufAllocator.class);
+ assertArrayEquals(new String[] { "TLSv1.3", "TLSv1.2" },
sslContext.newEngine(byteBufAllocatorMock).getEnabledProtocols());
}