![](/img/trans.png)
[英]Geting PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException after jdk update
[英]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.