Skip to content

Commit c4c2eea

Browse files
authored
Merge pull request #576 from splitio/proxy-auth-sse
Added sslcontext to SSE
2 parents 80b8f35 + d2bdc02 commit c4c2eea

File tree

7 files changed

+34
-27
lines changed

7 files changed

+34
-27
lines changed

client/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
<parent>
66
<groupId>io.split.client</groupId>
77
<artifactId>java-client-parent</artifactId>
8-
<version>4.16.0</version>
8+
<version>4.17.0-rc1</version>
99
</parent>
10-
<version>4.16.0</version>
10+
<version>4.17.0-rc1</version>
1111
<artifactId>java-client</artifactId>
1212
<packaging>jar</packaging>
1313
<name>Java Client</name>

client/src/main/java/io/split/client/SplitFactoryImpl.java

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -523,24 +523,7 @@ protected static SplitHttpClient buildSplitHttpClient(String apiToken, SplitClie
523523
SDKMetadata sdkMetadata, RequestDecorator requestDecorator)
524524
throws URISyntaxException {
525525

526-
SSLContext sslContext;
527-
if (config.proxyMTLSAuth() != null) {
528-
_log.debug("Proxy setup using mTLS");
529-
try {
530-
KeyStore keyStore = KeyStore.getInstance("PKCS12");
531-
InputStream keystoreStream = java.nio.file.Files.newInputStream(Paths.get(config.proxyMTLSAuth().getP12File()));
532-
keyStore.load(keystoreStream, config.proxyMTLSAuth().getP12FilePassKey().toCharArray());
533-
sslContext = SSLContexts.custom()
534-
.loadKeyMaterial(keyStore, config.proxyMTLSAuth().getP12FilePassKey().toCharArray())
535-
.build();
536-
} catch (Exception e) {
537-
_log.error("Exception caught while processing p12 file for Proxy mTLS auth: ", e);
538-
_log.warn("Ignoring p12 mTLS config and switching to default context");
539-
sslContext = SSLContexts.createSystemDefault();
540-
}
541-
} else {
542-
sslContext = SSLContexts.createSystemDefault();
543-
}
526+
SSLContext sslContext = buildSSLContext(config);
544527

545528
SSLConnectionSocketFactory sslSocketFactory = SSLConnectionSocketFactoryBuilder.create()
546529
.setSslContext(sslContext)
@@ -585,8 +568,10 @@ private static CloseableHttpClient buildSSEdHttpClient(String apiToken, SplitCli
585568
.setConnectTimeout(Timeout.ofMilliseconds(SSE_CONNECT_TIMEOUT))
586569
.build();
587570

571+
SSLContext sslContext = buildSSLContext(config);
572+
588573
SSLConnectionSocketFactory sslSocketFactory = SSLConnectionSocketFactoryBuilder.create()
589-
.setSslContext(SSLContexts.createSystemDefault())
574+
.setSslContext(sslContext)
590575
.setTlsVersions(TLS.V_1_1, TLS.V_1_2)
591576
.build();
592577

@@ -613,6 +598,28 @@ private static CloseableHttpClient buildSSEdHttpClient(String apiToken, SplitCli
613598
return httpClientbuilder.build();
614599
}
615600

601+
private static SSLContext buildSSLContext(SplitClientConfig config) {
602+
SSLContext sslContext;
603+
if (config.proxyMTLSAuth() != null) {
604+
_log.debug("Proxy setup using mTLS");
605+
try {
606+
KeyStore keyStore = KeyStore.getInstance("PKCS12");
607+
InputStream keystoreStream = java.nio.file.Files.newInputStream(Paths.get(config.proxyMTLSAuth().getP12File()));
608+
keyStore.load(keystoreStream, config.proxyMTLSAuth().getP12FilePassKey().toCharArray());
609+
sslContext = SSLContexts.custom()
610+
.loadKeyMaterial(keyStore, config.proxyMTLSAuth().getP12FilePassKey().toCharArray())
611+
.build();
612+
} catch (Exception e) {
613+
_log.error("Exception caught while processing p12 file for Proxy mTLS auth: ", e);
614+
_log.warn("Ignoring p12 mTLS config and switching to default context");
615+
sslContext = SSLContexts.createSystemDefault();
616+
}
617+
} else {
618+
sslContext = SSLContexts.createSystemDefault();
619+
}
620+
return sslContext;
621+
}
622+
616623
private static HttpClientBuilder setupProxy(HttpClientBuilder httpClientbuilder, SplitClientConfig config) {
617624
_log.info("Initializing Split SDK with proxy settings");
618625
DefaultProxyRoutePlanner routePlanner = new DefaultProxyRoutePlanner(config.proxy());

okhttp-modules/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
<parent>
66
<artifactId>java-client-parent</artifactId>
77
<groupId>io.split.client</groupId>
8-
<version>4.16.0</version>
8+
<version>4.17.0-rc1</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
11-
<version>4.16.0</version>
11+
<version>4.17.0-rc1</version>
1212
<artifactId>okhttp-modules</artifactId>
1313
<packaging>jar</packaging>
1414
<name>http-modules</name>

pluggable-storage/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<artifactId>java-client-parent</artifactId>
88
<groupId>io.split.client</groupId>
9-
<version>4.16.0</version>
9+
<version>4.17.0-rc1</version>
1010
</parent>
1111

1212
<version>2.1.0</version>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>io.split.client</groupId>
66
<artifactId>java-client-parent</artifactId>
7-
<version>4.16.0</version>
7+
<version>4.17.0-rc1</version>
88
<dependencyManagement>
99
<dependencies>
1010
<dependency>

redis-wrapper/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<artifactId>java-client-parent</artifactId>
88
<groupId>io.split.client</groupId>
9-
<version>4.16.0</version>
9+
<version>4.17.0-rc1</version>
1010
</parent>
1111
<artifactId>redis-wrapper</artifactId>
1212
<version>3.1.1</version>

testing/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</parent>
1010
<artifactId>java-client-testing</artifactId>
1111
<packaging>jar</packaging>
12-
<version>4.16.0</version>
12+
<version>4.17.0-rc1</version>
1313
<name>Java Client For Testing</name>
1414
<description>Testing suite for Java SDK for Split</description>
1515
<dependencies>

0 commit comments

Comments
 (0)