@@ -520,7 +520,7 @@ public boolean isDestroyed() {
520520
521521 protected static SplitHttpClient buildSplitHttpClient (String apiToken , SplitClientConfig config ,
522522 SDKMetadata sdkMetadata , RequestDecorator requestDecorator )
523- throws URISyntaxException {
523+ throws URISyntaxException , IOException {
524524
525525 SSLContext sslContext = buildSSLContext (config );
526526
@@ -562,7 +562,7 @@ protected static SplitHttpClient buildSplitHttpClient(String apiToken, SplitClie
562562 }
563563
564564 private static CloseableHttpClient buildSSEdHttpClient (String apiToken , SplitClientConfig config ,
565- SDKMetadata sdkMetadata ) {
565+ SDKMetadata sdkMetadata ) throws IOException {
566566 RequestConfig requestConfig = RequestConfig .custom ()
567567 .setConnectTimeout (Timeout .ofMilliseconds (SSE_CONNECT_TIMEOUT ))
568568 .build ();
@@ -597,13 +597,14 @@ private static CloseableHttpClient buildSSEdHttpClient(String apiToken, SplitCli
597597 return httpClientbuilder .build ();
598598 }
599599
600- private static SSLContext buildSSLContext (SplitClientConfig config ) {
600+ private static SSLContext buildSSLContext (SplitClientConfig config ) throws IOException {
601601 SSLContext sslContext ;
602602 if (config .proxyMTLSAuth () != null ) {
603603 _log .debug ("Proxy setup using mTLS" );
604+ InputStream keystoreStream = null ;
604605 try {
605606 KeyStore keyStore = KeyStore .getInstance ("PKCS12" );
606- InputStream keystoreStream = java .nio .file .Files .newInputStream (Paths .get (config .proxyMTLSAuth ().getP12File ()));
607+ keystoreStream = java .nio .file .Files .newInputStream (Paths .get (config .proxyMTLSAuth ().getP12File ()));
607608 keyStore .load (keystoreStream , config .proxyMTLSAuth ().getP12FilePassKey ().toCharArray ());
608609 sslContext = SSLContexts .custom ()
609610 .loadKeyMaterial (keyStore , config .proxyMTLSAuth ().getP12FilePassKey ().toCharArray ())
@@ -612,6 +613,8 @@ private static SSLContext buildSSLContext(SplitClientConfig config) {
612613 _log .error ("Exception caught while processing p12 file for Proxy mTLS auth: " , e );
613614 _log .warn ("Ignoring p12 mTLS config and switching to default context" );
614615 sslContext = SSLContexts .createSystemDefault ();
616+ } finally {
617+ keystoreStream .close ();
615618 }
616619 } else {
617620 sslContext = SSLContexts .createSystemDefault ();
0 commit comments