java - SSL 握手时缺少 ServerHelloDone

标签 java ssl websocket

我尝试使用 java applet 连接到 wss(安全 Websocket)服务器,但 ssl 握手失败,没有任何有用的日志条目。

如果我连接到 wss://echo.websocket.org,握手工作正常,所以我认为这不是一般的 Java 代码错误。

如果我尝试连接到我自己的服务器,则会发送 HelloDone 位(由 wireshark 验证)但连接以挂断结束并且它不在日志中。通常日志中应该有如下信息:“*** ServerHelloDone

查看我的“javax.net.debug=sll”的 java 控制台日志 http://pastebin.com/ZuvKww4J 它没有被截断,它只是在那里结束。 几秒钟后,tcp 连接超时消息被添加到日志中。

我使用以下 java 代码示例: https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/SSLClientExample.java

但我使用的不是 keystore :

sslContext.init( null, null, null );

对于服务器我有两个不同的测试系统:

  1. 在端口 443 一个 ha-proxy
  2. 在 8443 端口有一个隧道。

我尝试用不同的方法来隔离错误。首先,我用 stunnel 强制使用与 echo.websocket.org“SSL_RSA_WITH_RC4_128_SHA”相同的密码,但没有成功。

其次,我检查了 ssl 证书本身是否仍然有效。但是当 Web 浏览器和我的 java applet 的正常 https 连接被服务器接受时(同一服务器。ha-proxy 或 stunnel)此时一切正常。

最佳答案

问题已由 Java-WebSocket 的维护者解决。 大赞

关于java - SSL 握手时缺少 ServerHelloDone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15969304/

相关文章:

c# - .net core在linux平台哪里搜索证书

java - Tomcat 关闭 websocket 连接并出现错误

javascript - Vertx JS Eventbus 连接正在创建然后关闭

javascript - 在 socket.io 消息后触发莫名其妙的页面刷新

java - 为 Bukkit 插件添加颜色代码支持

java - 如何替换 Activity 中的 textChangedListener

java - 为什么 Spring Boot WebClient OAuth2 (client_credentials) 要求为每个请求提供新 token ?

java - 带有嵌入式 jetty 服务器的 Spring MVC 资源

apache - 将 apache2 SSL 切换到下一年证书的最佳实践

ssl - Visual Studio 2013 : IIS express, ssl 禁用但需要 ssl