aws com.amazonaws.SdkClientException 的 PKIX 路径构建失败

问题描述 投票:0回答:3

当我尝试使用 Eclipse 将对象从 java 上传到 S3 存储桶时。我遇到异常

com.amazonaws.SdkClientException:无法执行 HTTP 请求:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

请参考我从中获取的链接并执行示例代码

https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html

对此的任何帮助都将被采纳。

java amazon-web-services amazon-s3 sdk
3个回答
1
投票

我也有同样的问题。 我在其他帖子上看到(例子包括 forums.aws.amazon.com/thread.jspa?threadID=290003github.com/aws/aws-sdk-java/issues/1757),将 JDK CACERTS 添加到 eclipse.ini 文件已经起作用。 我有一个公共 S3 存储桶和一个具有管理员权限的 IAM 用户,以确保权限不会导致此问题。

这对我来说仍然是一个持续存在的问题,但其中之一可能会解决您的问题 uddeshya pratik


0
投票

我在使用 AWS Java SDK 2 的 Eclipse 执行 AWS SDK 文档中的 AWS Java SDK 示例代码时遇到了同样的问题。 这是我发现的东西。较新的 Java 版本的 JDK 信任库中已包含 Amazon Root CA。

通过在运行配置中传递 vmargs 使用参数 -Djavax.net.debug=all-Djavax.net.debug=ssl 对应用程序进行故障排除后,它从 ZScalar 证书的中间根 CA 引发异常。 JDK 信任库没有中间根 CA。

然后我去 ZScaler 网站从 URL 下载他们的根和中间 CA。这是我下载的证书。使用以下命令将它们添加到 JDK 信任库。

我添加了来自 ZScaler 的根证书和中间 CA 证书,然后使用 AWS Java SDK 的 Eclipse Java 应用程序运行良好,没有出现任何错误。

总结是:有时问题出在中间根 CA 默认情况下未添加到 JDK 信任存储中。

keytool -import -alias zscaler-int-ca1 -file zscaler-ca1.cer -keystore $JAVA_HOME/lib/jre/security/cacerts

keytool -import -alias zscaler-root-ca1 -file zscaler-ca2.cer -keystore $JAVA_HOME/lib/jre/security/cacerts

获取 CA 的 Zscaler 网站 URL


0
投票

在尝试上传 Docker 容器时,我遇到了同样的异常。关于如何解决 Docker 有什么建议吗?

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.