2

我正在尝试使用 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

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

紧随其后的是证书颁发机构列表。我确保将服务器的证书根颁发者导入到 mycacerts以及中间颁发者中。我仍然遇到同样的问题。

关于看什么的任何想法?

日志在pastebin 上

4

4 回答 4

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 -> Manage Plugins -> Advanced,然后上传它。然后你需要重新启动 Hudson。

于 2010-01-28T20:26:27.380 回答
0

阿列克谢的想法是正确的。

日志:

SEND SSLv3 ALERT:  warning, description = no_certificate

在 Java 编程论坛中进行了讨论。

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

于 2009-11-06T15:06:00.050 回答
0

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

于 2011-11-09T12:01:41.007 回答
-1

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

于 2009-11-06T14:32:33.283 回答