繁体   English   中英

为什么我的Java SSL证书出现handhake_failure?

[英]Why am I getting handshake_failure with Java SSL cert?

我正在尝试使用Hudson(使用SVNKit)访问需要客户端证书才能访问它的Subversion存储库。 我可以通过Eclipse(也使用SVNKit)使用相同的客户端证书访问相同的存储库。

当Hudson尝试检出存储库时,它失败并显示:

org.tmatesoft.svn.core.SVNException: svn: Received fatal alert: handshake_failure

Hudson在Tomcat下运行,因此我在Tomcat日志( -Djavax.net.debug=ssl )中打开了ssl调试。

在握手结束时,我看到:

*** ServerHelloDone
Executor #0 for master : executing eMASS integration #3, SEND SSLv3 ALERT:  warning, description = no_certificate

我不确定这是否是问题的症结所在。

接下来是证书颁发机构列表。 我确保将服务器的证书根颁发者以及中间颁发者都导入到我的cacerts 我仍然遇到同样的问题。

有什么想法要看吗?

日志在pastebin上

Hudson的Subversion插件中存在多个错误,涉及处理SSL证书及其密码。 这是我报告的问题,已经修复: http : //issues.hudson-ci.org/browse/HUDSON-5230 因此,现在,它应该正确保存您上传的证书。

升级到最新版本的Hudson(Hudson 1.342版或更高版本),以及最新版本的Subversion插件(1.10,可从https://hudson.dev.java.net/servlets/ProjectDocumentView?documentID=147307&showInfo=true获得 )。 要安装此插件,请下载subversion.hpi文件,然后在Hudson中转到Manage Hudson-> Manage Plugins-> Advanced,然后上传。 然后,您需要重新启动Hudson。

阿列克谢有一个正确的想法。

日志:

SEND SSLv3 ALERT:  warning, description = no_certificate

Java编程论坛对此进行了讨论。

也许您的日食和Hudson从不同的JRE开始(客户端JRE与JDK JRE?)。 每个JRE都有​​自己的密钥库。 这会使配置变得混乱。

我在Ubuntu服务器上遇到了同样的问题。 证书的安装没有帮助。 解决方案是将默认Java(java-6-openjdk)替换为Sun Java(java-6-sun)。

我不确定,但可能会有所帮助。 可能是您需要使用密钥库将证书添加到jvm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM