我环顾四周,没有看到任何问题完全解答了我想要的问题,但如果这是重复的,请将问题指向我,然后我将继续前进。使用Java创建SSL连接
现在我正试图编写一个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
我想谷歌的例外,大多数东西都描述了如何创建一个密钥(这我的印象是一个教程,我已经有)。我将继续筛选这些搜索结果。
谢谢!
可以运行[您套接字对象] .getEnabledCipherSuites()和[您套接字对象] .getSupportedCipherSuites - 然后粘贴输出在你的问题(与你的证书是密码一起创建 - 例如RC4-128等)? – jefflunt