使用自签名证书,https

时间:2011-11-14 15:10:56

标签: java eclipse git https egit

我想使用可通过https访问的git repo,Https服务器具有自签名证书。尝试使用eclipse + egit克隆回购时,我总是遇到错误:

  

https://host/path:无法打开git-upload-pack   sun.security.validator.ValidatorException:PKIX路径构建失败:   sun.security.provider.certpath.SunCertPathBuilderException:无法   找到所请求目标的有效证书路径

是否可以绕过此问题?我使用export GIT_SSL_NO_VERIFY=1命令跳过控制台客户端的ssl验证。这个技巧不适用于eclipse。

谢谢,

Hubi

5 个答案:

答案 0 :(得分:9)

您也可以将eGit设置为忽略服务器验证。在Eclipse中转到Window - >偏好。

从那里去团队 - > Git - >构造

点击“新条目”

键:http.sslVerify 值:false

点击“确定”

点击“确定”

有关此更详细的方法,请查看我的博客文章: http://www.pur-logic.com/2012/04/21/egit-self-signed-certificate/

答案 1 :(得分:5)

您必须将该证书导入密钥库(JDK目录中的默认密钥库cacerts,或者使用参数-Djavax.net.ssl.trustStore指定一个)。

答案 2 :(得分:1)

FAQ of CAcert提供了keytool的命令行:

keytool -keystore $/PATH/TO/CACERTS/KEYSTORE -storepass changeit -import -trustcacerts -v -alias cacertclass1 -file root.crt
  • 您可能必须省略-trustcacerts才能导入法线 证书。
  • -alias也可能是不必要的

答案 3 :(得分:0)

我也遇到了一些麻烦,但是有一个不同的故事。 Git仓库的主机名与证书的主机名不匹配。解决方案是更改证书以匹配主机名。

答案 4 :(得分:0)

我们应该为此用例使用http.sslCAInfo选项 但是,这个选项的eclipse JGit开发状态已经停留了很长时间。

FYI