У меня есть приложение Java, которое разработано и построено с gradle
.
У меня проблема при запуске gradle build
, сборка завершается со следующей ошибкой:
* What went wrong:
Could not determine the dependencies of task ':jar'.
> Could not resolve all files for configuration ':compile'.
> Could not download client-java-api.jar (io.kubernetes:client-java-api:5.0.0)
> Could not get resource 'https://jcenter.bintray.com/io/kubernetes/client-java-api/5.0.0/client-java-api-5.0.0.jar'.
> Could not GET 'https://jcenter.bintray.com/io/kubernetes/client-java-api/5.0.0/client-java-api-5.0.0.jar'.
> sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Выдается ошибка для всех зависимостей.
Я гарантировал, что импортировал сертификат jcenter в cacerts:
keytool -import -alias "ADD_CERTIFICATE_ALIAS" -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -file "PATH\TO\CERTIFICATE\CERTIFICATE.cer"
Я также проверил, что сертификат был импортирован туда (выводиз
keytool -list -keystore "%JAVA_HOME%\jre\lib\security\cacerts
):
...
Certificate fingerprint (SHA1): B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB
jcenter, Oct 30, 2019, trustedCertEntry,
...
Я также изменил скрипт gradle в C:\Gradle\bin\gradle.bat
и добавил %GRADLE_OPTS%
/ %JAVA_OPTS%
trustStore в качестве аргумента, поэтому теперь команда gradle build
выглядит следующим образом:
"C:\Program Files\Java\jdk1.8.0_212/bin/java.exe" -Djavax.net.ssl.trustStore="C:\Program Files\Java\jdk1.8.0_212\jre\lib\security\cacerts" "-Dorg.gradle.appname=gradle" -classpath "C:\Gradle\bin\..\lib\gradle-launcher-4.2.1.jar" org.gradle.launcher.GradleMain bui
ld
Как FYI, эта проблема не возникает, когда я не за VPN (ZScaler).
ОБНОВЛЕНИЕ Iвыполнил следующую команду:
openssl s_client -showcerts -connect jcenter.bintray.com:443
И он показал следующую строку, которая, вероятно, связана:
verify error:num=20:unable to get local issuer certificate
Любые другие идеи, как яможно решить эту проблему?