web-dev-qa-db-fra.com

Ubuntu 17.10 Java 8 Erreur de certificat

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.

10
Leonardo Amorim

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!

26
Zod