diff --git a/pom.xml b/pom.xml
index fd8bb1baddba..3101d4be6e79 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,7 +49,7 @@
0.38
0.6
1.12.560
- 3.9.0
+ 4.12.0
3.4.0
19.3.0.0
1.38
@@ -2357,6 +2357,7 @@
com.fasterxml.jackson.core:jackson-annotations
com.fasterxml.jackson.core:jackson-core
com.fasterxml.jackson.core:jackson-databind
+ org.jetbrains.kotlin:kotlin-stdlib-jdk8
@@ -2395,7 +2396,15 @@
protobuf-maven-plugin
0.5.1
-
+
+ org.basepom.maven
+ duplicate-finder-maven-plugin
+
+
+ META-INF.versions.9.module-info
+
+
+
diff --git a/presto-client/src/main/java/com/facebook/presto/client/OkHttpUtil.java b/presto-client/src/main/java/com/facebook/presto/client/OkHttpUtil.java
index 78175f158dbb..c08f3e089bab 100644
--- a/presto-client/src/main/java/com/facebook/presto/client/OkHttpUtil.java
+++ b/presto-client/src/main/java/com/facebook/presto/client/OkHttpUtil.java
@@ -58,6 +58,7 @@
import static java.net.Proxy.Type.SOCKS;
import static java.util.Collections.list;
import static java.util.Objects.requireNonNull;
+import static okhttp3.internal.tls.OkHostnameVerifier.INSTANCE;
public final class OkHttpUtil
{
@@ -178,7 +179,7 @@ public static void setupSsl(
OkHttpClient.Builder clientBuilder,
Optional keyStorePath,
Optional keyStorePassword,
- Optional keystoreType,
+ Optional keyStoreType,
Optional trustStorePath,
Optional trustStorePassword,
Optional trustStoreType)
@@ -192,7 +193,6 @@ public static void setupSsl(
KeyStore keyStore = null;
KeyManager[] keyManagers = null;
if (keyStorePath.isPresent()) {
- checkArgument(keystoreType.isPresent(), "keystore type is not present");
char[] keyManagerPassword;
try {
// attempt to read the key store as a PEM file
@@ -203,7 +203,7 @@ public static void setupSsl(
catch (IOException | GeneralSecurityException ignored) {
keyManagerPassword = keyStorePassword.map(String::toCharArray).orElse(null);
- keyStore = KeyStore.getInstance(keystoreType.get());
+ keyStore = KeyStore.getInstance(keyStoreType.get());
try (InputStream in = new FileInputStream(keyStorePath.get())) {
keyStore.load(in, keyManagerPassword);
}
@@ -217,7 +217,6 @@ public static void setupSsl(
// load TrustStore if configured, otherwise use KeyStore
KeyStore trustStore = keyStore;
if (trustStorePath.isPresent()) {
- checkArgument(trustStoreType.isPresent(), "truststore type is not present");
trustStore = loadTrustStore(new File(trustStorePath.get()), trustStorePassword, trustStoreType.get());
}
@@ -237,12 +236,23 @@ public static void setupSsl(
sslContext.init(keyManagers, new TrustManager[] {trustManager}, null);
clientBuilder.sslSocketFactory(sslContext.getSocketFactory(), trustManager);
+ clientBuilder.hostnameVerifier(INSTANCE);
}
catch (GeneralSecurityException | IOException e) {
throw new ClientException("Error setting up SSL: " + e.getMessage(), e);
}
}
+ public static void setupSsl(
+ OkHttpClient.Builder clientBuilder,
+ Optional keyStorePath,
+ Optional keyStorePassword,
+ Optional trustStorePath,
+ Optional trustStorePassword)
+ {
+ setupSsl(clientBuilder, keyStorePath, keyStorePassword, Optional.of(KeyStore.getDefaultType()), trustStorePath, trustStorePassword, Optional.of(KeyStore.getDefaultType()));
+ }
+
private static void validateCertificates(KeyStore keyStore)
throws GeneralSecurityException
{