Jetty - SSL Websocket Client



我有一个websocket服务器(jetty 9.0.1.v20130408的API),没有ssl可以正常工作。现在我这样配置我的服务器:

SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStorePath("/src/main/resources/keystore.jks");
sslContextFactory.setKeyStorePassword(password); 
sslContextFactory.setTrustStorePath("/src/main/resources/truststore.jks");
sslContextFactory.setTrustStorePassword(password); 
ConnectionFactory sslConnFactory = new SslConnectionFactory(sslContextFactory, "http/1.1);
connector.addConnectionFactory(sslConnFactory);
server.addConnector(connector);

不,我试图配置客户端。我认为,在客户端,我需要设置信任存储的路径。JKS和密码。但随后在client.start()中出现了异常:SSL没有有效的密钥存储库。当我设置密钥存储库时,我就进入了客户机。java.nio.channels.WritePendingException连接。下面是我的客户端的代码:

WebSocketClient client = new WebSocketClient(sslContextFactory);
URI wssUri = new URI("wss://localhost:"+port);
sslContextFactory.start();
client.start();
client.connect(myClientSocket, wssUri);
有人能帮我吗?我还尝试在服务器端设置settwantclientauth (false)和setTrustall(true),但它也没有这样工作;

补充道:

我使用keytool生成ssl文件。

$ keytool -genkeypair -alias certificatekey -keyalg RSA -validity 365 -keystore keystore.jks 
$ keytool -export -alias certificatekey -keystore keystore.jks -rfc -file selfsignedcert.cer
$ keytool -import -alias certificatekey -file selfsignedcert.cer -keystore truststore.jks

这是因为upgradeequest被发送了两次,正如这里所报告的

您现在可以忽略警告。当9.0.4发布时,请使用

相关内容

  • 没有找到相关文章

最新更新