在weblogic中为出站https连接

时间:2018-03-17 08:05:12

标签: ssl weblogic soa pfx jks

我们要求通过HTTPS与SOA集成外部合作伙伴。为此合作伙伴提供了他们的密钥对(以pfx文件的形式)。 当我们在SOAP UI中导入pfx文件并尝试使用合作伙伴URL进行连接时,它可以正常工作。

但是当我们在weblogic中导入合作伙伴的密钥和证书时(我们使用的是身份和信任jks),我们得到以下错误:

错误:

summary = oracle.fabric.common.FabricInvocationException:无法调用端点URI" https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP"成功原因:javax.xml.soap.SOAPException:javax.xml.soap.SOAPException:消息发送失败:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径 ,detail =无法调用端点URI" https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP"成功原因:javax.xml.soap.SOAPException:javax.xml.soap.SOAPException:消息发送失败:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

,代码= null}

我们已按照以下步骤在weblogic中导入合作伙伴的密钥和证书:

导入合作伙伴密钥和证书的步骤:

  1. 合作伙伴为我们提供了包含私钥的pfx文件 证书。

    1. 合作伙伴提供的PFX导出密钥:
    2. openssl pkcs12 -in LuisEmail.pfx -nocerts -out LuisEmail.key -nodes

      1. 从LUIS提供的PFX导出证书:openssl pkcs12 -in LuisEmail.pfx -nokeys -out LuisEmail.cer -nodes
      2. 将LuisEmail.cer复制到Windows并通过手动导出创建root.cer和inter.cer。
      3. 按顺序组合所有3个证书创建链:中间根服务器并将其另存为.pem文件。
      4. 将pem文件带到linux机器上。
      5. 设置环境以执行java util.importPrivateKey实用程序。 /apps/oracle/product/fmw/wlserver_10.3/server/bin/setWLSEnv.sh
      6. 将私钥文件转换为rsa私钥文件:openssl rsa -in LuisEmail.key -out LuisEmail_RSA.key
      7. 在身份存储中导入pem / key:java utils.ImportPrivateKey -keystore netappidentity_STA.jks -storepass -storetype JKS -keypass  -alias staPrivateKey -certfile LuisEmailChain.pem -keyfile LuisEmail_RSA.key -keyfilepass
      8. 在信任库中导入Root CER文件:keytool -import -v -noprompt -trustcacerts -alias starootcert -file LuisEmailRoot.cer -keystore netapptrust_STA.jks -storepass
      9. 重新启动的服务器

      我们在这里遗失的任何指针都会受到赞赏!请注意,当我们使用keytool explorer检查pfx文件时,我们只看到私钥和服务器(域)证书。没有中间证书和根证书。

      也有人知道为什么合作伙伴会给我们密钥对,如果它是1路ssl或2路ssl。我们的印象是只有公共证书才能进行ssl通信。

      感谢。

1 个答案:

答案 0 :(得分:0)

我们能够在这里找出问题所在。由于我们的合作伙伴是政府税务机构(我认为他们不想信任我们的CA),他们为我们提供了一对密钥(拥有私钥)。我们应该把它当作我们自己的钥匙。

我们在身份存储中导入私钥,并从信任存储中的URL导出证书,连接正常。

由于