Skip to content

Commit 0527147

Browse files
committed
refactor: use SSLContext.getInstance("TLSv1.3") instead of "TLS" + setProtocols
On Java 11+ SunJSSE, "TLSv1.3" enables [TLSv1.3, TLSv1.2] by default, which is more explicit about intent than "TLS" + manual setProtocols. Drops the SSLParameters block from Rest.getClient().
1 parent c1dd0f1 commit 0527147

3 files changed

Lines changed: 3 additions & 18 deletions

File tree

src/main/java/io/github/jopenlibs/vault/SslConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,7 @@ private SSLContext buildSslContextFromJks() throws VaultException {
578578
}
579579

580580
try {
581-
final SSLContext sslContext = SSLContext.getInstance("TLS");
581+
final SSLContext sslContext = SSLContext.getInstance("TLSv1.3");
582582
sslContext.init(keyManagers, trustManagers, null);
583583
return sslContext;
584584
} catch (NoSuchAlgorithmException | KeyManagementException e) {
@@ -643,7 +643,7 @@ private SSLContext buildSslContextFromPem() throws VaultException {
643643
keyManagers = keyManagerFactory.getKeyManagers();
644644
}
645645

646-
final SSLContext sslContext = SSLContext.getInstance("TLS");
646+
final SSLContext sslContext = SSLContext.getInstance("TLSv1.3");
647647
sslContext.init(keyManagers, trustManagers, null);
648648
return sslContext;
649649
} catch (CertificateException | IOException | NoSuchAlgorithmException | KeyStoreException |

src/main/java/io/github/jopenlibs/vault/rest/Rest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import java.util.TreeMap;
3030
import javax.net.ssl.SSLContext;
3131
import javax.net.ssl.SSLEngine;
32-
import javax.net.ssl.SSLParameters;
3332
import javax.net.ssl.TrustManager;
3433
import javax.net.ssl.X509ExtendedTrustManager;
3534

@@ -79,7 +78,7 @@ public class Rest {
7978

8079
static {
8180
try {
82-
DISABLED_SSL_CONTEXT = SSLContext.getInstance("TLS");
81+
DISABLED_SSL_CONTEXT = SSLContext.getInstance("TLSv1.3");
8382
DISABLED_SSL_CONTEXT.init(null, new TrustManager[]{new X509ExtendedTrustManager() {
8483
@Override
8584
public void checkClientTrusted(X509Certificate[] chain, String authType,
@@ -475,9 +474,6 @@ private HttpClient getClient() {
475474
} else if (sslContext != null) {
476475
client.sslContext(sslContext);
477476
}
478-
final SSLParameters sslParameters = new SSLParameters();
479-
sslParameters.setProtocols(new String[]{"TLSv1.2", "TLSv1.3"});
480-
client.sslParameters(sslParameters);
481477
return client.build();
482478
}
483479

src/test/java/io/github/jopenlibs/vault/SSLTests.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
import java.util.Arrays;
1616
import javax.net.ssl.SSLContext;
17-
import javax.net.ssl.SSLParameters;
1817
import static org.junit.Assert.assertEquals;
1918
import static org.junit.Assert.assertTrue;
2019

@@ -293,15 +292,5 @@ public void testSslContextFromPemSupportsTls13() throws Exception {
293292
assertTrue("SSLContext from PEM must support TLSv1.2", supported.contains("TLSv1.2"));
294293
}
295294

296-
@Test
297-
public void testRestSslParametersExcludesLegacyProtocols() {
298-
final SSLParameters params = new SSLParameters();
299-
params.setProtocols(new String[]{"TLSv1.2", "TLSv1.3"});
300-
final java.util.List<String> enabled = Arrays.asList(params.getProtocols());
301-
assertTrue(enabled.contains("TLSv1.2"));
302-
assertTrue(enabled.contains("TLSv1.3"));
303-
assertTrue("TLSv1 must not be enabled", !enabled.contains("TLSv1"));
304-
assertTrue("TLSv1.1 must not be enabled", !enabled.contains("TLSv1.1"));
305-
}
306295

307296
}

0 commit comments

Comments
 (0)