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; } }