summaryrefslogtreecommitdiffstats
path: root/src/main/java/de/spline/kvm/utils/SSLUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/spline/kvm/utils/SSLUtils.java')
-rw-r--r--src/main/java/de/spline/kvm/utils/SSLUtils.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/main/java/de/spline/kvm/utils/SSLUtils.java b/src/main/java/de/spline/kvm/utils/SSLUtils.java
new file mode 100644
index 0000000..75bb1dd
--- /dev/null
+++ b/src/main/java/de/spline/kvm/utils/SSLUtils.java
@@ -0,0 +1,47 @@
+package de.spline.kvm.utils;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.GeneralSecurityException;
+import java.security.KeyStore;
+
+public class SSLUtils
+{
+ public static SSLSocketFactory getSocketFactory()
+ {
+ SSLContext ctx = null;
+
+ try {
+ ctx = SSLContext.getInstance("TLS");
+ ctx.init(null, getTrustManagers(), null);
+ }
+ catch (GeneralSecurityException | IOException e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+
+ return ctx.getSocketFactory();
+ }
+
+ private static TrustManager[] getTrustManagers()
+ throws GeneralSecurityException, IOException
+ {
+ TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(
+ TrustManagerFactory.getDefaultAlgorithm());
+ trustManagerFactory.init(loadKeyStore());
+ return trustManagerFactory.getTrustManagers();
+ }
+
+ private static KeyStore loadKeyStore()
+ throws GeneralSecurityException, IOException
+ {
+ KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
+ InputStream in = ClassLoader.getSystemResourceAsStream("dfn-g2.jks");
+ keyStore.load(in, "changeit".toCharArray());
+ return keyStore;
+ }
+}