代码之家  ›  专栏  ›  技术社区  ›  OtherDevOpsGene

为什么Java SSL证书会导致握手失败?

  •  2
  • OtherDevOpsGene  · 技术社区  · 15 年前

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

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

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

    在握手结束时,我看到:

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

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

    下面是证书颁发机构列表。我确保服务器的证书根颁发者已导入我的 cacerts ,以及中间发行人。我还是有同样的问题。

    有什么好主意吗?

    log is on pastebin .

    4 回复  |  直到 15 年前
        1
  •  2
  •   commanda    15 年前

    Hudson的subversion插件中有几个bug,涉及处理SSL证书及其密码。这是我报告的一个,他们已经修复了: http://issues.hudson-ci.org/browse/HUDSON-5230 . 所以现在,它应该正确地保存你上传的证书。

    https://hudson.dev.java.net/servlets/ProjectDocumentView?documentID=147307&showInfo=true )。要安装此插件,请下载subversion.hpi文件,然后在Hudson中转到管理Hudson->管理插件->高级,并上传它。然后你需要重新启动哈德逊。

        2
  •  0
  •   Thomas Jung    15 年前

    日志:

    SEND SSLv3 ALERT:  warning, description = no_certificate
    

    in the Java Programming forum

        3
  •  0
  •   weekens    13 年前

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

        4
  •  -1
  •   Alexey Ogarkov    15 年前

    我不太清楚,但可能会有帮助。