java-mwapi fails to run gradle 3.4 with java7: java.security.InvalidKeyException: EC parameters error
Closed, DeclinedPublic

Description

apps/android/java-mwapi.git seems to require Java 7, however the gradle wrapper. A trouble is java 7 does not recognize the SSL certificate for https://services.gradle.org/ :

$ docker run --pull --rm -t -v "$(pwd):/src" -v "$(pwd)/cache:/cache" docker-registry.wikimedia.org/releng/gradle-java7:0.1.0
Downloading https://services.gradle.org/distributions/gradle-3.4-all.zip

Exception in thread "main" javax.net.ssl.SSLException: java.security.ProviderException: java.security.InvalidKeyException: EC parameters error
	at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1914)
	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1872)
	at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1855)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1376)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1353)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1366)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
	at org.gradle.wrapper.Download.downloadInternal(Download.java:60)
	at org.gradle.wrapper.Download.download(Download.java:45)
	at org.gradle.wrapper.Install$1.call(Install.java:62)
	at org.gradle.wrapper.Install$1.call(Install.java:48)
	at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)
	at org.gradle.wrapper.Install.createDist(Install.java:48)
	at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
	at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: java.security.ProviderException: java.security.InvalidKeyException: EC parameters error
	at sun.security.pkcs11.P11Key$P11ECPublicKey.getEncodedInternal(P11Key.java:1024)
	at sun.security.pkcs11.P11Key.equals(P11Key.java:158)
	at java.util.ArrayList.indexOf(ArrayList.java:302)
	at java.util.ArrayList.contains(ArrayList.java:285)
	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:239)
	at sun.security.validator.Validator.validate(Validator.java:260)
	at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
	at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
	at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1459)
	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:213)
	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:961)
	at sun.security.ssl.Handshaker.process_record(Handshaker.java:897)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1033)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1342)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1369)
	... 13 more
Caused by: java.security.InvalidKeyException: EC parameters error
	at sun.security.ec.ECParameters.getAlgorithmParameters(ECParameters.java:284)
	at sun.security.ec.ECPublicKeyImpl.<init>(ECPublicKeyImpl.java:59)
	at sun.security.pkcs11.P11Key$P11ECPublicKey.getEncodedInternal(P11Key.java:1021)
	... 28 more
Caused by: java.security.NoSuchProviderException: no such provider: SunEC
	at sun.security.jca.GetInstance.getService(GetInstance.java:83)
	at sun.security.jca.GetInstance.getInstance(GetInstance.java:206)
	at java.security.Security.getImpl(Security.java:697)
	at java.security.AlgorithmParameters.getInstance(AlgorithmParameters.java:199)
	at sun.security.ec.ECParameters.getAlgorithmParameters(ECParameters.java:279)
	... 30 more

The container is based on Debian Jessie with openjdk-7 7u151-2.6.11-2~deb8u1.

But maybe that repository is obsolete nowadays and can be archived?

hashar created this task.Feb 22 2018, 1:08 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptFeb 22 2018, 1:08 PM
Dbrant added a subscriber: Dbrant.Feb 22 2018, 1:31 PM

But maybe that repository is obsolete nowadays and can be archived?

That is correct. This repository is no longer used or maintained by us, and can be archived.

Change 413683 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/config@master] Archive apps/android/java-mwapi

https://gerrit.wikimedia.org/r/413683

Mentioned in SAL (#wikimedia-releng) [2018-02-23T08:19:02Z] <hashar> gerrit: marked apps/android/java-mwapi.git read-only | T187995

Change 413683 merged by jenkins-bot:
[integration/config@master] Archive apps/android/java-mwapi

https://gerrit.wikimedia.org/r/413683

hashar closed this task as Declined.Feb 23 2018, 8:24 AM

But maybe that repository is obsolete nowadays and can be archived?

That is correct. This repository is no longer used or maintained by us, and can be archived.

I have archived it in CI and Gerrit. Thank you very much for the quick reply! :]