【问题标题】:WebSocket SSL in JAVAJAVA 中的 WebSocket SSL
【发布时间】:2026-02-09 07:40:01
【问题描述】:

我已经使用这个库成功地在客户端和服务器之间建立了 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,它们是什么?相反,在另一个库(客户端)中,我并不清楚我应该怎么做......提前致谢!

【问题讨论】:

    标签: java ssl encryption websocket


    【解决方案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-clientJavaDoc 的README.md 中的“创建WebSocketFactory”

    【讨论】:

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