您好我正在尝试一个简单的 java http 服务器 NanoHTTPD:http: //elonen.iki.fi/code/nanohttpd/
今天我尝试用 HTTPS 支持它,所以我SSLServerSocket
在它的NanoHTTPD
构造函数中创建:
// myServerSocket = new ServerSocket(myTcpPort);
myServerSocket = SSLServerSocketFactory.getDefault().createServerSocket(myTcpPort);
并且还提供javax.net.ssl.keyStore
了 2048 位 RSA 密钥
结果是 https 连接在 MSIE6.0、MSIE8.0、Firefox 9.0.1 上成功但在 Google Chrome 17.0.963.56 m 和 Firefox 10.0.1 上失败:
从调试中,NanoHTTPD.HTTPSession.decodeHeader
方法只得到String inLine = "G"
一个字符,而通常在这里你会期望标准的 http 标头“ GET / HTTP/1.1
”。
所以任何熟悉 Firefox 的人都可以说出 9.0.1 和 10.0.1 关于 https / ssl 的不同之处?浏览器制作的东西可能是重点。(当然我是java ssl编程的新手,如果我在SSLServerSocket中错了,请告诉我)。
我已经交叉发布了这个问题: https: //support.mozilla.org/en-US/questions/920116
谢谢你们。