问题描述
我是Java SSL集成概念的新手。
在https://github.com/TooTallNate/Java-WebSocket的帮助下,我编写了一个独立的WebSocket(服务器)应用程序。
在我的用例中,我的服务器在创建SSLContext时需要加载.keystore和.truststore文件。
String keyStoreLocation = Paths.get("src","webSocket","resource","server.keystore").toString();
String trustStoreLocation = Paths.get("src","server.truststore").toString();
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
File keyStoreFile = new File(keyStoreLocation);
keyStore.load(new FileInputStream(keyStoreFile),keyStorePassword.tochararray());
KeyManagerFactory keyManagerFactory =
KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
keyManagerFactory.init(keyStore,keyStorePassword.tochararray());
TrustManagerFactory trustManagerFactory =
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
trustManagerFactory.init(keyStore);
SSLContext sslContext = null;
sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyManagerFactory.getKeyManagers(),trustManagerFactory.getTrustManagers(),null);
MyWebSocketServer socket = new MyWebSocketServer(new InetSocketAddress(port));
socket.setWebSocketFactory(new DefaultSSLWebSocketServerFactory(sslContext));
按照上述API,我只能在KeyStore中加载一个文件。 我如何在KeyStore中加载两个文件?在理解时我是否缺少某些东西? 我没有使用任何Web应用程序服务器。它只是一个独立的WebSocket服务器,将负责处理外部WS客户端请求。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)