启用了HTTPS / SSL的身份验证无法通过Jgit代码进行验证,如https://www.codeaffine.com/2014/12/09/jgit-authentication/中所述
当我为应用程序使用dockers时。
当我在本地使用Wars文件(Ubuntu和Windows)并通过HTTPS身份验证(启用SSL验证)并使用用户名/密码甚至用户名/个人访问令牌时,克隆成功。
奇怪的是,此SSL问题仅在docker安装程序中发生。但是,当我使用SSH身份验证时,克隆成功。我正在使用私人GITHUB存储库进行克隆。 我尝试了各种stackoverflow建议,以使用keytool命令检查cacerts。 有各种各样的代码建议可以禁用SSL验证,但不能牺牲安全性。
我遇到的错误是:
org.eclipse.jgit.transport.TransportHttp.handleSslFailure(TransportHttp.java:619)
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
caused by: javax.net.ssl.SSLHandshakeException unable to find valid certification path to requested target
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source)
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(Unknown Source)
我们可以对JGIT进行编码,使其通过HTTPS(启用SSL验证)成功克隆, 在Docker设置中使用用户名/密码凭证? 如果有人这样做,请告诉我。