JAVA 中的 WebSocket SSL

Posted

技术标签:

【中文标题】JAVA 中的 WebSocket SSL【英文标题】:WebSocket SSL in JAVA 【发布时间】:2016-04-24 13:48:31 【问题描述】:

我已经使用这个库成功地在客户端和服务器之间建立了 WebSocket 连接:

客户端:github.com/TakahikoKawasaki/nv-websocket-client 服务器:github.com/TooTallNate/Java-WebSocket

现在我将使用 SSL 加密此连接,但我不明白我必须如何做。 特别是我见过这个例子(https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/SSLServerExample.java 包含在 Java-WebSocket 1.3.0 中),它需要一个 KEYPASSWORD 和一个 STOREPASSWORD,它们是什么?相反,在另一个库(客户端)中,我并不清楚我应该怎么做......提前致谢!

【问题讨论】:

【参考方案1】:

对于nv-websocket-client

ws: 替换为wss:。例如,如果您的服务器的端点是<strong>ws</strong>://example.com/abc,则将其更改为<strong>wss</strong>://example.com/abc。在大多数情况下,您所要做的就是它。

在某些情况下,需要对 SSL 进行特殊设置。在这种情况下,请使用以下任一方法。

WebSocketFactory.setSSLContext(SSLContext) WebSocketFactory.setSSLSocketFactory(SocketFactory)

详情请参阅nv-websocket-client 和JavaDoc 的README.md 中的“创建WebSocketFactory”

【讨论】:

但是使用 nv-websocket-client 可以固定 SSL 证书吗?

以上是关于JAVA 中的 WebSocket SSL的主要内容,如果未能解决你的问题,请参考以下文章

Spring和Java中的Websocket

信任java Websocket客户端中的所有证书

java socket怎么与websocket对接

java中的websocket应用

在 Android 中的 Java Websocket 服务器收到消息时,未创建 Toast 消息

来自客户端的 Java (Tomcat) websocket 参数