我正在尝试使用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
以及中间发行者中导入服务器的证书根发布者。我仍然遇到同样的问题。
关于要查看什么的任何想法?
答案 0 :(得分:2)
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 - >管理插件 - >高级,并上传它。然后你需要重新启动Hudson。
答案 1 :(得分:0)
Alexey有正确的想法。
日志:
SEND SSLv3 ALERT: warning, description = no_certificate
讨论了in the Java Programming forum。
也许你的eclipse和Hudson从不同的JRE(客户端JRE与JDK JRE?)开始。每个JRE都有自己的密钥库。这可能会让配置变得混乱。
答案 2 :(得分:0)
我的Ubuntu服务器上遇到了同样的问题。安装证书没有帮助。解决方案是将默认Java(java-6-openjdk)用于Sun Java(java-6-sun)。
答案 3 :(得分:-1)
我不确切知道,但可能会有所帮助。 可能需要使用密钥库
将证书添加到jvm