J'ai une nouvelle installation d'Ubuntu 17.10 sur laquelle j'ai installé le paquet Oracle-Java8-installer (de PPA).
Mais lorsque j'essaie de compiler un projet ionic en utilisant "ionic cordova build Android", l'erreur suivante est générée:
Exception in thread "main"
javax.net.ssl.SSLException: Java.lang.RuntimeException: Unexpected error: Java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at Sun.security.ssl.Alerts.getSSLException(Alerts.Java:208)
at Sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.Java:1959)
at Sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.Java:1916)
at Sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.Java:1899)
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1420)
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1397)
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.getInputStream0(HttpURLConnection.Java:1564)
at Sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.Java:1492)
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.lang.RuntimeException: Unexpected error: Java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at Sun.security.validator.PKIXValidator.<init>(PKIXValidator.Java:91)
at Sun.security.validator.Validator.getInstance(Validator.Java:179)
at Sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.Java:312)
at Sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.Java:171)
at Sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.Java:184)
at Sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.Java:124)
at Sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.Java:1496)
at Sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.Java:216)
at Sun.security.ssl.Handshaker.processLoop(Handshaker.Java:1026)
at Sun.security.ssl.Handshaker.process_record(Handshaker.Java:961)
at Sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.Java:1072)
at Sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.Java:1385)
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1413)
... 14 more
Caused by: Java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at Java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.Java:200)
at Java.security.cert.PKIXParameters.<init>(PKIXParameters.Java:120)
at Java.security.cert.PKIXBuilderParameters.<init>
(PKIXBuilderParameters.Java:104)
at Sun.security.validator.PKIXValidator.<init>(PKIXValidator.Java:89)
... 26 more
Je suis connecté à Internet et j'ai essayé de:
$ Sudo update-ca-certificates -f
$ Sudo apt install --reinstall ca-certificates-Java
... et réinstallez également npm, ionic, Java et gradle, le tout sans succès.
edit: J'ai également Android_HOME et Java_HOME exportés au format .bashrc, et Android Studio est installé. J'ai essayé de construire le projet sur une machine différente et cela fonctionne bien. Je ne peux pas utiliser OpenJDK car cela ne fonctionne pas bien avec Android Studio.
Essayer
Sudo dpkg --purge --force-depends ca-certificates-Java
suivi par
Sudo apt-get install ca-certificates-Java
obtenir des cacerts cassés réparés.
Pour moi, cela a réglé le problème.
Bonne chance!