簡體   English   中英

JDK 10模塊和sun.security.provider.certpath.SunCertPathBuilderException

[英]JDK 10 modules and sun.security.provider.certpath.SunCertPathBuilderException

我用來在openjdk:10-slim上運行我的應用程序openjdk:10-slim docker圖像,一切正常。

然后我使用以下dockerfile遷移到使用Jlink構建的自定義JDK:

FROM openjdk:10-jdk-slim AS jdkBuilder

RUN $JAVA_HOME/bin/jlink \
--module-path /opt/jdk/jmods \
--verbose \
--add-modules java.base,java.logging,java.xml,java.xml.bind,java.sql,jdk.unsupported,java.naming,java.desktop,java.management,java.security.jgss,java.security.sasl,jdk.crypto.cryptoki,jdk.crypto.ec,java.instrument,jdk.management.agent \
--output /opt/jdk-minimal \
--compress 2 \
--no-header-files


FROM debian:9-slim
COPY --from=jdkBuilder /opt/jdk-minimal /opt/jdk-minimal

ENV JAVA_HOME=/opt/jdk-minimal
COPY target/*.jar /opt/

CMD $JAVA_HOME/bin/java $JAVA_OPTS -jar /opt/*.jar

當我使用AWS S3 SDK時,大多數工作都很好,在這種情況下,我得到以下異常:

com.amazonaws.SdkClientException: Unable to execute HTTP request: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我猜這些證書(或訪問它們的方式)是由一個我不包括的缺失包提供的。

我做了一些挖掘,找不到任何相關的信息。 我嘗試添加任何可能與安全性或SSL相關的模塊,但我沒有運氣。

有沒有人遇到過這個問題,知道需要添加哪個模塊? 作為一種解決方法我恢復到openjdk:10-slim但我想使用jlink因為它使我的圖像更小

例外表明您的環境缺少一些根證書。

嘗試從openjdk:10-slim復制cacerts到您正在使用的JDK。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM