Не уверен, что это то, что вы ищете, но может помочь ... Для создания серверных сокетов с поддержкой SSL / TLS в настоящее время я использую код, подобный следующему (keystore.jks содержит самоподписанный private / public пара ключей, используемая для обеспечения подтверждения) - клиенты имеют аналогичное хранилище доверия, которое содержит подписанный сертификат с открытым ключом этой пары.
Немного погоня за настройкой, вы должны начать.
String keyStorePath = "keystore.jks";
String keyStorePassword = "password";
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
KeyStore keyStore = new KeyStore();
keyStore.load(new FileInputStream(keyStorePath), keyStorePassword);
keyManagerFactory.init(keyStore, keyStorePassword.toCharArray());
sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyManagerFactory.getKeyManagers(), null, new SecureRandom());
SSLContext sslContext = getServerSSLContext(namespace.getUuid());
SSLServerSocketFactory serverSocketFactory = sslContext.getServerSocketFactory();
// Create sockets as necessary