当我尝试使用 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
对此的任何帮助都将被采纳。
我也有同样的问题。 我在其他帖子上看到(例子包括 forums.aws.amazon.com/thread.jspa?threadID=290003 和 github.com/aws/aws-sdk-java/issues/1757),将 JDK CACERTS 添加到 eclipse.ini 文件已经起作用。 我有一个公共 S3 存储桶和一个具有管理员权限的 IAM 用户,以确保权限不会导致此问题。
这对我来说仍然是一个持续存在的问题,但其中之一可能会解决您的问题 uddeshya pratik
我在使用 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
在尝试上传 Docker 容器时,我遇到了同样的异常。关于如何解决 Docker 有什么建议吗?