Launcher/LauncherAPI/src/main/java/ru/gravit/launcher/ssl/LauncherSSLContext.java

32 lines
1.2 KiB
Java

package ru.gravit.launcher.ssl;
import javax.net.ssl.*;
import java.security.*;
public class LauncherSSLContext {
public SSLServerSocketFactory ssf;
public SSLSocketFactory sf;
public LauncherSSLContext(KeyStore ks, String keypassword) throws NoSuchAlgorithmException, KeyStoreException, UnrecoverableKeyException, KeyManagementException {
TrustManager[] trustAllCerts = new TrustManager[]{
new LauncherTrustManager()
};
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory
.getDefaultAlgorithm());
kmf.init(ks, keypassword.toCharArray());
SSLContext sc = SSLContext.getInstance("TLSv1.2");
sc.init(kmf.getKeyManagers(), trustAllCerts, new SecureRandom());
ssf = sc.getServerSocketFactory();
sf = sc.getSocketFactory();
}
public LauncherSSLContext() throws NoSuchAlgorithmException, KeyManagementException {
TrustManager[] trustAllCerts = new TrustManager[]{
new LauncherTrustManager()
};
SSLContext sc = SSLContext.getInstance("TLSv1.2");
sc.init(null, trustAllCerts, new SecureRandom());
ssf = null;
sf = sc.getSocketFactory();
}
}