Mar*_*nio 6 java ssl https tomcat
我正在创建一个Java客户端程序,它将敏感信息发送到Tomcat服务器.所以我需要使用SSL连接,以便加密信息.
我需要使用自签名的不受信任的证书,但是在从java客户端建立连接时遇到问题.
我已成功设置Tomcat 5.5以使用SSL并通过Firefox进行测试,Firefox会显示自签名证书的警告.
我遵循Tomcat 5.5 SSL设置,他们提到创建一个密钥库:
keytool -genkey -alias tomcat -keyalg RSA
然后我做了上面的导出:
keytool -export -keystore .keystore -alias tomcat -file localhost.cer
然后我将上述证书导入客户端机器:
keytool -import -alias tomcat -file localhost.cer -keystore "C:\Program Files"\Java\jdk1.6.0_17\jre\lib\security\cacerts"
但是在运行客户端时,我得到:
线程"main"中的异常javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径
这是客户端代码:
URL url = new URL("https://localhost:8443");
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
conn.setSSLSocketFactory(sslsocketfactory);
InputStream inputstream = conn.getInputStream();
Run Code Online (Sandbox Code Playgroud)
现在我刚刚开始玩这些证书而且我是密钥库的新手,所以请耐心等待.
有人可以解释如何导出和导入Tomcat中创建的证书到客户端机器?
谢谢.
Atlassian 对于如何解决这个问题有很好的说明。
http://confluence.atlassian.com/display/JIRA/Connecting+to+SSL+services
另一种方法是安装不太严格的证书验证器,但这只能作为最后的手段。
归档时间: |
|
查看次数: |
21456 次 |
最近记录: |