import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocket;
这是一个Java应用程序,这是一个服务器本身 - 我没有使用任何虚拟服务器它不是一个Web应用程序。它应该从客户端应用程序接收连接并处理它们的请求。客户端应用程序和数据库之间的中间层。
上启动它并运行,但保留(而原因(真){})滥发此错误:
javax.net.ssl.SSLException: No available certificate or key corresponds to the SSL cipher suites which are enabled.
at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.checkEnabledSuites(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.accept(Unknown Source)
所以,我抬头一看几个SSL证书创建指南和使用由证书这些命令:
keytool -genkey -alias serverprivate -keystore servestore -keyalg rsa -keysize 2048
keytool -export -alias serverprivate -keystore servestore -rfc -file server.cer
它导入到我的本地证书存储,这样我就可以用我的客户端应用程序进行测试:
keytool -import -alias trustservercert -file server.cer -keystore clienttruststore
所有这些都在我的$ JAVA_HOME \ bin目录中完成。我也更新了我的eclipse.ini文件与
-vm
$JAVA_HOME\bin\javaw.exe
所以Eclipse将用我的JDK7的虚拟机来运行应用程序。
同时,我试图将server.cer和servestore文件复制到$ ECLIPSE_HOME和应用程序主目录中。
结果是:相同的错误消息。它不会阻止应用程序运行,但它仍然存在。
真的很感谢这里的帮助。我究竟做错了什么?也许有一个很酷的,详细的,新手友好的使用SSL创建应用程序的指南,我无法找到它?