按照此处的说明重新创建我以前错误创建的证书.我现在javax.net.ssl.SSLHandshakeException: no cipher suites in common在服务器和javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure客户端看到的东西已经改变了.而不是错误这个问题
服务器是ClassFileServer.java和相应的客户端SSLSocketClientWithClientAuth.java
关于让两端发挥得很好的任何提示,请注意我使用的是localhost所以我认为密码功能是相同的.
更新:
以下是我用来生成文件的步骤,我可能会混淆密钥和信任库:
在服务器上(本指南后面):
$ keytool -genkey -alias serverkey -keyalg RSA -keypass p@ssw0rd
-storepass p@ssw0rd -keystore keystore.jks
$ keytool -export -alias serverkey -storepass p@ssw0rd -file
server.cer -keystore keystore.jks
$ keytool -import -v -trustcacerts -alias clientkey -file
../client/client.cer -keystore cacerts.jks -keypass p@ssw0rd
-storepass p@ssw0rd
在客户端(通过本指南):
$ keytool -genkey -alias clientkey -keyalg RSA -keypass changeit
-storepass changeit …