当前位置: 首页 > 知识库问答 >
问题:

在aws中导入外部证书

宰父子安
2023-03-14

试图从aws lambda连接到外部soap服务,但遇到以下异常。

通用域名格式。太阳xml。内部的ws。客户ClientTransportException:HTTP传输错误:javax。网ssl。例外:太阳。安全验证器。ValidatorException:PKIX路径生成失败:sun。安全供应商。certpath。SunCertPathBuilderException:找不到请求目标的有效证书路径

当我试图从本地环境调用服务时,也遇到了同样的异常。在使用keytool命令将安全证书导入jre/lib/security文件夹后,它会得到解决。

如何在AWS中导入外部安全证书以解决异常。

我已经浏览了下面的链接。

注意:我有来自浏览器的证书,但没有私钥。

共有1个答案

薛扬
2023-03-14

这就是我解决这个问题的方法:

        //locate the default truststore
        String filename = System.getProperty("java.home") + "/lib/security/cacerts".replace('/', File.separatorChar);

        KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());

        try (FileInputStream fis = new FileInputStream(filename)) {

            keystore.load(fis, "changeit".toCharArray());
        }

        CertificateFactory cf = CertificateFactory.getInstance("X.509");

        //Input stream to cert file
        Certificate caCert = cf.generateCertificate(IOUtils.toInputStream(CA_CERT));
        keystore.setCertificateEntry("ca-cert", caCert);

        //can only save to /tmp from a lambda
        String certPath = "/tmp/CustomTruststore";

        try (FileOutputStream out = new FileOutputStream(certPath)) {

            keystore.store(out, "MyPass".toCharArray());
        }

        System.setProperty("javax.net.ssl.trustStore", certPath);
        System.setProperty("javax.net.ssl.trustStorePassword","MyPass");
 类似资料:
  • 很久以前,我已经将SSL证书导入AWS。它目前安装在ELB上,将在15天后到期。我正在尝试让AWS颁发新证书,但它一直在等待验证: 目前Route53指向ELB。如果我输入“https://eyecloud.net.au”,它会正常工作。 现在,我尝试创建CloudFront,以便将HTTP重定向到HTTPS。但导入的SSL证书不会显示: 我删除了ELB,导入的证书不再使用,但它仍然没有显示在Cl

  • 我使用PyCharm作为Houdini中python代码的编辑器。每当我尝试导入主Houdini库(hou)时,我都会收到一个用PyCharm标记的错误。如果我包含代码段:- 我的代码执行,没有问题,从胡迪尼和我选择的解释器。 我的问题是PyCharm本身。编辑器将“导入后”标记为错误,导入该文件的任何后续文件也将该文件导入的模块标记为错误。因此,我放松了提前输入功能,并获得了过多的错误消息,这使

  • 我有一个Maven项目,在那里我导入了一个外部JAR(通过构建路径),它位于参考库文件夹下。我如何在我的系统中导入它。java类文件?我的意思是字面上的代码“导入??”。这个班是在com上的。实例演示包。我是否需要在某个地方添加依赖项(pom.xml)?

  • 我尝试导入commons-io-2.6。jar和commons-lang-2.6。将jar(此处可用)转换为处理草图。 我将这些JAR放在位于处理根目录下的libraries文件夹中,但处理无法识别我的导入: 如何在处理过程中导入像Apache这样的外部jar?

  • 我希望解析JSON,为此我下载了java JSON。从这个URL下载jar文件。我在构建路径中添加了这个 右键单击项目 构建路径- 但是导入组织。json。JSONArray给了我一个错误。当我在org停下来的时候。它给了我一些不包括json的建议。 我应该怎么做才能成功导入json包?

  • 我有一个EV证书为我的网站的多个子域。允许的域列表包括: 我希望使用一个具有自定义CNAME为和EV ssl证书的Cloudfront CDN。但是每当我试图在AWS证书管理器中导入它时,我都会得到以下错误。 我的证书就像