Ubuntu 17.10 Errore certificato Java 8


10

Ho una nuova installazione di Ubuntu 17.10, su cui ho installato il pacchetto oracle-java8-installer (da PPA).

Ma quando provo a compilare un progetto ionico usando "ionic cordova build android", viene generato questo errore:

    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

Sono connesso a Internet e ho provato a:

$ sudo update-ca-certificates -f
$ sudo apt install --reinstall ca-certificates-java

... e anche reinstallare npm, ionic, java e gradle, il tutto senza successo.

modifica: Ho anche ANDROID_HOME e JAVA_HOME esportati in .bashrc e Android Studio installato. Ho provato a costruire il progetto su una macchina diversa e funziona benissimo. Non riesco a provare a usare OpenJDK perché non funziona bene con Android Studio.

Risposte:


26

Provare

sudo dpkg --purge --force-depends ca-certificates-java

seguito da

sudo apt-get install ca-certificates-java

per riparare i biscotti rotti.
Per me, questo è stato risolto.
In bocca al lupo!


Ha funzionato anche per me per openjdk-9! Qualche spiegazione sul perché questo funziona quando --reinstallnon è stato eseguito manualmente lo script postinstallazione? Sono molto interessato per riferimenti futuri. Grazie!
Andy,

1
OH MIO DIO. Sto cercando questa risposta da settimane. Ogni altra risposta a questa domanda che ho trovato non ha fatto nulla, assolutamente nulla. Questo ha funzionato perfettamente. Qualcosa sembra abbastanza rotto con questi certificati su Ubuntu 17.10.
Dan,

Risolto anche Jenkins il 17.10. Grazie (e votato)
Forbesmyester

Grazie mille lavorato per me con Gradle (4.5.1) e open-jdk-9. Tuttavia, non ha funzionato con l'oracle-jdk-9.
Pabi,

Soluzione per Ubuntu 18.04. Ho installato openjdk versione 11. A causa di Android ho dovuto installare anche openjdk 8. Per motivi sconosciuti il ​​file cacerts installato da openjdk 11 non funziona con openjdk 8. Ho dovuto disinstallare entrambi jdks e installare solo la versione 8 e quindi rigenerare i cacert file.
Greg Dan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.