我环顾四周,没有看到任何完全回答了我想要的问题,但如果这是重复的,请指出我的问题,我将继续前进。
现在我正在尝试编写一个 Java 服务器,它将接收来自的数据SSLServerSocket
,现在,只需将其打印出来。我最终希望这些数据来自 Android,但现在SSLException
它甚至在开始监听数据之前就抛出了一个。
代码:
System.setProperty("javax.net.ssl.keyStore","C:\\ProgramFiles\\jre6\\bin\\server.jks");
System.setProperty("javax.net.ssl.keyStorePassword","password");
SSLServerSocketFactory factory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
ServerSocket ss = factory.createServerSocket(6543);
Socket s = ss.accept();
之后有更多代码来处理它,但它被挂断并在那里抛出异常,所以我不确定发布它是否会有所帮助,但如果有的话,只需评论它。
我按照 Ubuntu 上的 openssl 教程创建了证书,并将其传输过来并使用以下命令创建了我的密钥库:
keytool -import -file "C:\Documents and Settings\matt\Desktop\server.crt" -keystore server.jks
我可以很容易地承认,我并不完全理解其中很大一部分是如何工作的,因此我们将不胜感激。另外,我想我将把它放在这个问题的范围之外,因为我觉得这本身就是一个很大的问题,但我也想了解如何在可能的情况下连接客户端。很抱歉给您带来所有麻烦,并提前感谢您提供的所有帮助。
编辑:
我遵循的教程在这里: http ://www.akadia.com/services/ssh_test_certificate.html
再次感谢!
编辑:
抛出的异常是:
javax.net.ssl.SSLException: No available certificate or key corresponds to the SSL cipher suites which are enabled
我试图用谷歌搜索异常,大多数内容都是描述如何创建密钥库的教程(我的印象是我已经拥有了)。我将继续筛选这些搜索结果。
谢谢!