我正在将jdk 1.8用于带有SOA套件的weblogic 12.2.1.3。我必须将一个证书从Web服务器导入到应用程序服务器。我已经从Web服务器下载了证书,并尝试将其默认导入cacerts
中。路径为/u01/oracle/products/jdk/jre/lib/security/cacerts
我的证书已导入,因为我收到一条消息,提示已添加证书。但是,当我尝试调用soap URL时,出现如下错误
<bpelFault><faultType>0</faultType><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>oracle.fabric.common.FabricInvocationException: Unable to invoke endpoint URI "https://stageosb.au.ar/restricted/soasession" 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
所以我去检查了我导入的证书,方法是使用以下命令列出它们的别名:
keytool -list -v -keystore cacerts -storepass changeit | grep "Alias name:"
我得到了安装的证书列表。在该列表中,我看到我的证书也提到了一件奇怪的事情:以前安装的所有证书的末尾都有jdk
。但是对于我要导入的证书,它最后没有显示jdk
。请看下面
Alias name: popcasca
Alias name: verisignclass1g2ca [jdk]
Alias name: comodoaaaca [jdk]
Alias name: geotrustprimarycag2 [jdk]
Alias name: globalsignr3ca [jdk]
popcasca是我安装在cacerts中的证书,但是这里没有提到jdk
。这可能是什么原因。任何帮助。
致谢
答案 0 :(得分:1)
您的服务器将引用DemoTrust.jks。因此,仅更新cacerts将无济于事。
您需要从setDomainEnv [.cmd | .sh]中删除以下行。
“-Djavax.net.ssl.trustStore=%WL_HOME%\server\lib\DemoTrust.jks”
有关更多详细信息,请参见:https://sswaro.wordpress.com/pkix-path-building-failed-in-soa/