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

配置Weblogic托管服务器与自定义标识和信任存储使用jre信任存储

王波
2023-03-14

我已经创建了一个Weblogic 12c域,其中包含一个托管服务器,并在该服务器上安装了SOA Suite 12.2。为了能够在我的组合中通过SSL调用REST服务,我创建了一个带有有效证书链的信任库,以便通过SSL连接到REST服务器。

我使用/u01/data/keystores/identitykeystore中的自定义标识存储为SOA托管服务器创建了自定义标识和自定义信任。jks和信任存储在/u01/data/keystores/truststore中。jks。

当使用REST服务调用组合时,我得到一个remotefault

<bpelFault><faultType>0</faultType><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>oracle.fabric.common.FabricInvocationException: javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target</summary></part><part name="code"><code>null</code></part><part name="detail"><detail>unable to find valid certification path to requested target</detail></part></remoteFault></bpelFault></fault><faultType>
<message>0</message></faultType></messages>

server.out在调用服务报告找不到有效的认证路径后不久发现java异常

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

收到的证书链如预期的那样,是根CA、中间和服务器证书。(

原因似乎是weblogic没有使用配置的自定义信任存储,而是使用默认Java信任存储。(是的,nodemager,admin和托管服务器已经重新启动)这解释了为什么认证路径无效,但目前没有线索如何解决这个问题。

<Jun 23, 2016 10:15:27 PM CEST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 12.2.1.0.0 Tue Oct  6 10:05:47 PDT 2015 1721936>
trustStore is: /usr/java/jdk1.8.0_92/jre/lib/security/cacerts
trustStore type is : jks
trustStore provider is :
init truststore
adding as trusted cert:
  Subject: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US

欢迎任何建议,提示或解决方案!

--更新1--

在文档"Fusion Middleware保护Oracle WebLogic Server"中找到以下内容

WebLogic Server如何定位信任

WebLogic Server在加载其受信任的CA证书时使用以下算法:

  • 如果密钥库是由-Dweblogic.security.SSL. Trust dCAkeystore命令行参数指定的,则从该密钥库加载受信任的CA证书。
  • 否则,如果在配置文件(config.xml)中指定了密钥库,则从指定的密钥库加载可信的CA证书。如果服务器配置了DemoTrust,受信任的CA证书将从WL_HOME\server\lib\DemoTrust.jks和JDK cacerts密钥库加载。
  • 否则,如果在配置文件(config.xml)中指定了可信的CA文件,则从该文件加载可信的CA证书(这仅用于与6. x SSL配置兼容)。
  • 从WL_HOME\server\lib\cacerts keystore加载可信CA证书。

论点——德韦伯逻辑。安全SSL。trustedCAkeystore未使用,因此应从自定义信任库加载受信任的CA证书。

--更新2--

对于出站Web服务绑定,Oracle SOA Suite使用JRF HttpClient,因此也使用用于SSL的Sun JDK库。因此,必须将-Djavax.net.ssl.trustStore=your_truststore_location添加到startweblogic.sh的JAVA_OPTIONS

将truststore属性添加到JAVA_属性后,以下内容将登录到服务器。出档。。

soa_服务器1。out:/u01/data/domains/soa12c/bin/setDomainEnv。sh:384行:-贾瓦。网ssl。信任库=/u01/data/keystores/trustStore。jks:没有这样的文件或目录

文件存在,域用户有权访问jks文件。

共有2个答案

施誉
2023-03-14

一句话放错位置了。。。。。

我最初删除了java属性Djava。网ssl。来自setDomainEnv中JAVA_属性的信任存储。并安置了一处新房产——贾瓦。网ssl。信任商店他信任商店。但是把它放在了包含JAVA_属性内容的双引号之外。这就解释了为什么它会拖欠回cacerts。。

师向文
2023-03-14

它不起作用,因为你放的任何东西都会被Demo Trust覆盖。如果您进入manager服务器bin path并打开setDomainEnv并搜索Demo,您将看到Demo trust JKS。移除它,然后重新启动SOA服务器。

 类似资料:
  • 我目前正在使用Weblogic 12c(12.1.1.0)。我有一个特殊的问题,我无法解决它。我已将服务器配置为使用自定义密钥存储和信任存储。我用的是-Djavax。网调试=用于调试的ssl。当服务器启动时,部署的应用程序使用https连接到另一个应用程序进行验证。在此连接过程中,使用自定义信任存储验证其证书。 验证按预期完成,然后服务器启动而不报告任何错误。现在,一旦我访问IE上的应用程序并执行

  • 摘要:Java选项允许Java使用计算机帐户的Windows信任存储。什么选项允许它对用户帐户使用Windows信任存储? 我们有一个在Windows客户端上运行的Java应用程序。应用程序从各种来源获取数据,其中一些来源使用的证书不在默认的文件中。 当用户选择访问外部数据的项目时,系统会提示他们下载外部站点的证书。由于我们的安全设置,文件对用户是只读的。由于JRE无法将证书导入,因此无法下载外部

  • 我写一个java应用程序连接到数据库与ssl连接使用jTDS。我已经向连接URL添加了属性ssl=需要,以启用ssl连接。 但是我找不到如何配置属性,在那里我可以指定使用哪个信任存储以及它的密码是什么?此处列出了所有jTDS连接属性:http://jtds.sourceforge.net/faq.html 根据此链接,SQL server jdbc驱动程序具有以下类型的属性trustStore和t

  • 问题内容: 据我了解,密钥库通常会保存私钥/公钥,而信任库通常只保存公钥(并代表你打算与之通信的受信任方的列表)。好吧,这是我的第一个假设,因此,如果这不正确,那么我可能起步并不顺利。 不过,我很想了解使用keytool时如何/何时区分商店。 因此,到目前为止,我已经使用 这将创建我的keystore.ks文件。我回答yes了我是否信任bob的问题,但是我不清楚这是否创建了密钥库文件或信任库文件?

  • 定义一个配置 在配置文件 .sbt这章已经将了如何定义个配置,大部分配置定义在Default中 配置有三种类型,其中SettingKey和TaskKey已经在配置文件 .sbt介绍了,InputKey在任务配置的输入章节介绍。 对于配置的一些例子: val scalaVersion = settingKey[String]("The version of Scala used for buildi

  • 当我试图在weblogic中调用https服务调用时,ssl握手失败。我已经将服务器证书添加到weblogic信任库——“cacerts”中。 用于在weblogic启动脚本中添加信任存储的命令: 导出JAVA_选项 我是否遗漏了其他任何东西——修复此问题的任何指针? 使用SSLPoke.java测试了应用服务器盒中的ssl连接,并且成功了。 Weblogic服务器日志跟踪: