diff --git a/client/src/main/java/org/glassfish/tyrus/client/SslContextConfigurator.java b/client/src/main/java/org/glassfish/tyrus/client/SslContextConfigurator.java index bd68ca99..a85312b1 100644 --- a/client/src/main/java/org/glassfish/tyrus/client/SslContextConfigurator.java +++ b/client/src/main/java/org/glassfish/tyrus/client/SslContextConfigurator.java @@ -578,6 +578,17 @@ public SSLContext createSSLContext() { TrustManagerFactory trustManagerFactory = null; KeyManagerFactory keyManagerFactory = null; + if ("SunMSCAPI".equals(System.getProperty(TRUST_STORE_PROVIDER))) { + try { + KeyStore keyStore = KeyStore.getInstance(System.getProperty(TRUST_STORE_TYPE), "SunMSCAPI"); + keyStore.load(null, null); + trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + trustManagerFactory.init(keyStore); + } catch (Throwable e) { + throw new RuntimeException(e); + } + } + if (keyStoreBytes != null || keyStoreFile != null) { try { KeyStore keyStore; diff --git a/containers/jdk-client/src/main/java/org/glassfish/tyrus/container/jdk/client/SslContextConfigurator.java b/containers/jdk-client/src/main/java/org/glassfish/tyrus/container/jdk/client/SslContextConfigurator.java index b67c6fa5..e1ca3b0d 100644 --- a/containers/jdk-client/src/main/java/org/glassfish/tyrus/container/jdk/client/SslContextConfigurator.java +++ b/containers/jdk-client/src/main/java/org/glassfish/tyrus/container/jdk/client/SslContextConfigurator.java @@ -524,6 +524,17 @@ public SSLContext createSSLContext() { try { TrustManagerFactory trustManagerFactory = null; + if ("SunMSCAPI".equals(System.getProperty(TRUST_STORE_PROVIDER))) { + try { + KeyStore keyStore = KeyStore.getInstance(System.getProperty(TRUST_STORE_TYPE), "SunMSCAPI"); + keyStore.load(null, null); + trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + trustManagerFactory.init(keyStore); + } catch (Throwable e) { + throw new RuntimeException(e); + } + } + KeyManagerFactory keyManagerFactory = null; if (keyStoreBytes != null || keyStoreFile != null) {