ข้อผิดพลาดในใบรับรอง Ubuntu 17.10 Java 8


10

ฉันติดตั้ง Ubuntu 17.10 ใหม่ซึ่งฉันติดตั้งแพ็คเกจ oracle-java8-installer (จาก PPA)

แต่เมื่อฉันพยายามรวบรวมโครงการไอออนิกโดยใช้ "ionic cordova build android" มันทำให้เกิดข้อผิดพลาดนี้:

    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 ที่ติดตั้ง ฉันพยายามสร้างโครงการบนเครื่องอื่นและใช้งานได้ดี ฉันไม่สามารถลองใช้ OpenJDK ได้เพราะมันใช้งานไม่ได้กับ Android Studio

คำตอบ:


26

ลอง

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

ติดตามโดย

sudo apt-get install ca-certificates-java

เพื่อรับการแก้ไข cacerts
สำหรับฉันมันคงที่
โชคดี!


ทำงานให้ฉันด้วยเช่นกันสำหรับ openjdk-9! คำอธิบายใด ๆ เกี่ยวกับสาเหตุที่ทำงานเมื่อ--reinstallและการรันสคริปต์ postinstall ด้วยตนเองไม่ได้ ฉันสนใจมากสำหรับการอ้างอิงในอนาคต ขอบคุณ!
แอนดี้

1
พระเจ้าช่วย. ฉันหาคำตอบนี้มาหลายสัปดาห์แล้ว ทุกคำตอบอื่น ๆ สำหรับคำถามนี้ฉันพบว่าไม่ได้ทำอะไรเลย - ไม่มีอะไรแน่นอน มันทำงานได้อย่างสมบูรณ์แบบ ดูเหมือนว่าจะมีอะไรบางอย่างที่แตกต่างจากตอนนี้ใน Ubuntu 17.10
ด่าน

แก้ไขเจนกินส์เมื่อวันที่ 17.10 เช่นกัน ขอบคุณ (และโหวตขึ้น)
Forbesmyester

ขอบคุณมากทำงานให้ฉันกับ gradle (4.5.1) และ open-jdk-9 ไม่ได้ทำงานกับ oracle-jdk-9
Pabi

โซลูชันสำหรับ Ubuntu 18.04 ฉันติดตั้ง openjdk เวอร์ชั่น 11 เนื่องจาก Android ฉันต้องติดตั้ง openjdk 8 เพิ่มเติมด้วยเหตุใดก็ตามที่ไม่ทราบสาเหตุที่ติดตั้งไฟล์ cacerts โดย openjdk 11 ไม่ทำงานกับ openjdk 8 ฉันต้องถอนการติดตั้งทั้ง jdks และติดตั้งเฉพาะรุ่น 8 แล้วสร้าง cacerts ใหม่ ไฟล์.
เกร็กแดน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.