Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

gradlew.bat (and gradlew) SSLHandShakeException

Tags:

gradle

gradlew

I'm new to Gradle and was going through this Spring Tutorial found here:

http://spring.io/guides/gs/gradle/

I get to the part where it tells me to add this task:

task wrapper(type: Wrapper) {      gradleVersion = '2.3' } 

I run gradle wrapper which creates the gradlew and gradlew.bat files.

Trying to run both of this I get this exception:

Downloading https://services.gradle.org/distributions/gradle-2.3-bin.zip  Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.val idator.ValidatorException: PKIX path building failed: sun.security.provider.cert path.SunCertPathBuilderException: unable to find valid certification path to req uested target         at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)         at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884)         at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276)         at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)         at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker. java:1341)         at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.jav a:153)         at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)         at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)         at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)         at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl. java:1312)         at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339 )         at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323 )         at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java: 563)         at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect (AbstractDelegateHttpsURLConnection.java:185)         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon nection.java:1300)         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Http sURLConnectionImpl.java:254)         at org.gradle.wrapper.Download.downloadInternal(Download.java:56)         at org.gradle.wrapper.Download.download(Download.java:42)         at org.gradle.wrapper.Install$1.call(Install.java:57)         at org.gradle.wrapper.Install$1.call(Install.java:44)         at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc essManager.java:65)         at org.gradle.wrapper.Install.createDist(Install.java:44)         at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:126)         at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56) Caused by: sun.security.validator.ValidatorException: PKIX path building failed:  sun.security.provider.certpath.SunCertPathBuilderException: unable to find vali d certification path to requested target         at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)         at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.jav a:292)         at sun.security.validator.Validator.validate(Validator.java:260)         at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.j ava:326)         at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerIm pl.java:231)         at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustMan agerImpl.java:126)         at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker. java:1323)         ... 19 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to  find valid certification path to requested target         at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCert PathBuilder.java:196)         at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268)         at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)         ... 25 more 

I try to hit the webserver at https://services.gradle.org/distributions/gradle-2.3-bin.zip and I'm not getting any sort of error. I'm I missing some sort of config? Any help would be appreciated. Thanks!

like image 487
MrRoboto Avatar asked Apr 11 '15 23:04

MrRoboto


People also ask

What is gradlew and gradlew bat?

Gradle is a build system. This gradle-wrapper is kind of the primary interface to to build Android projects. It the part of Gradle-build-system and does some primary check if gradle in installed or not. gradlew. bat - its a batch file used on Windows.

Should I use gradle or gradlew?

If you're working in a project that has a gradlew script, always use it. If it doesn't, use the gradle command to generate it.

What is the use of gradlew?

Overview. Gradle is commonly used by developers to manage their project's build lifecycle. It's the default choice of build tool for all new Android projects.

How do I start gradlew?

To run a Gradle command, open a command window on the project folder and enter the Gradle command. Gradle commands look like this: On Windows: gradlew <task1> <task2> … ​ e.g. gradlew clean allTests.


2 Answers

if you could not fix anyway. and if you are inside firewall.
then.
you may can not download https.

should fix that Edit gradle-wrapper.properties file.

vi [project]/gradle/wrapper/gradle-wrapper.properties  #distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-bin.zip  distributionUrl=http\://services.gradle.org/distributions/gradle-2.8-bin.zip 

change from https to http...

http://blog.cjred.net/gradlew-bat-and-gradlew-sslhandshakeexception/

After I modified, it says: Server returned HTTP response code: 403 for URL: http://services.gradle.org/distributions/gradle-6.0.1-all.zip

like image 157
Jeonggeun Lee Avatar answered Oct 06 '22 00:10

Jeonggeun Lee


I experienced the same problem, however my symptoms were that my Ubuntu machine couldn't resolve any SSL hosts unless I specifically added them to Java's certificate authority (cacert) file.

I stumbled upon this Debian bug, and found a fairly straight-forward resolution: remove ca-certificates-java and install it again:

sudo dpkg --purge --force-depends ca-certificates-java sudo apt-get install ca-certificates-java 

I did a ./gradlew clean for good measure, and everything sprung to life again.

like image 28
Paul Lammertsma Avatar answered Oct 06 '22 01:10

Paul Lammertsma