Ubuntu 17.10 Java 8証明書エラー


10

Ubuntu 17.10のフレッシュインストールがあり、そこにパッケージoracle-java8-installer(PPAから)をインストールしました。

しかし、「ionic cordova build android」を使用してionicプロジェクトをコンパイルしようとすると、次のエラーがスローされます。

    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

私はインターネットに接続していて、次のことを試みました:

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

...また、npm、ionic、java、gradleを再インストールしても、すべて成功しません。

編集: ANDROID_HOMEとJAVA_HOMEも.bashrcにエクスポートし、Android Studioをインストールしています。別のマシンでプロジェクトをビルドしようとしましたが、正常に動作します。Android Studioでうまく動作しないため、OpenJDKを試すことができません。

回答:


26

やってみる

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

に続く

sudo apt-get install ca-certificates-java

壊れた証明書を修正する。
私にとって、これはそれを修正しました。
幸運を!


私もopenjdk-9で働いた!--reinstallpostinstallスクリプトを手動で実行しても動作しない理由についての説明はありますか?今後の参考にさせていただきます。ありがとう!
アンディ

1
ああ、神様。私はこの答えを何週間も探していました。私が見つけたこの質問に対する他のすべての答えは何もしませんでした-絶対に何もしませんでした。これは完全に機能しました。Ubuntu 17.10では、これらの証明書で何かがかなり壊れているようです。
ダン

17.10でもJenkinsを修正しました。感謝(および賛成)
Forbesmyester

Gradle(4.5.1)とopen-jdk-9を使用してくれてありがとう。ただし、oracle-jdk-9では機能しませんでした。
Pabi 2018

Ubuntu 18.04のソリューション。私はopenjdkバージョン11をインストールしました。Androidのため、openjdk 8を追加でインストールする必要がありました。不明な理由により、openjdk 11によってインストールされたcacertsファイルがopenjdk 8で機能しません。両方のjdksをアンインストールし、バージョン8のみをインストールしてから、cacertsを再生成する必要がありました。ファイル。
Greg Dan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.