首页 文章

在weblogic中安装合作伙伴密钥证书(PFX)以进行出站https连接

提问于
浏览
0

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

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

错误:

summary = oracle.fabric.common.FabricInvocationException:无法成功调用 endpoints URI“https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP " successfully due to: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target ,detail=Unable to invoke endpoint 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中导入合作伙伴的密钥和证书:

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

  • 合作伙伴向我们提供了包含私钥和证书的pfx文件 .

  • 合作伙伴提供的PFX导出密钥:

openssl pkcs12 -in LuisEmail.pfx -nocerts -out LuisEmail.key -nodes

  • 由LUIS提供的PFX导出证书:openssl pkcs12 -in LuisEmail.pfx -nokeys -out LuisEmail.cer -nodes

  • 将LuisEmail.cer复制到Windows并通过手动导出创建root.cer和inter.cer .

  • 通过按顺序组合所有3个证书来创建链:中间根服务器并将其另存为.pem文件 .

  • 将pem文件带到linux机器上 .

  • 设置环境以执行java util.importPrivateKey实用程序 . /apps/oracle/product/fmw/wlserver_10.3/server/bin/setWLSEnv.sh

  • 将私钥文件转换为rsa私钥文件:openssl rsa -in LuisEmail.key -out LuisEmail_RSA.key

  • 在身份存储中导入pem / key:java utils.ImportPrivateKey -keystore netappidentity_STA.jks -storepass -storetype JKS -keypass -alias staPrivateKey -certfile LuisEmailChain.pem -keyfile LuisEmail_RSA.key -keyfilepass

  • 在信任库中导入Root CER文件:keytool -import -v -noprompt -trustcacerts -alias starootcert -file LuisEmailRoot.cer -keystore netapptrust_STA.jks -storepass

  • 重新启动的服务器

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

也有人知道为什么合作伙伴会给我们密钥对,如果它将是一个单向ssl或双向ssl . 我们的印象是只有公共证书才能进行ssl通信 .

谢谢 .

1 回答

  • 0

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

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

    谢谢

相关问题