WebLogic 10.3.4 通配符证书导入

WebLogic 10.3.4 wildcard certificate import

我有一个本地环境,其中部署了 WebLogic 10.3.4 和 .ear 应用程序。此应用程序必须通过 REST API 与外部服务通信。这些外部服务在 https 中公开并使用通配符证书。

当我尝试连接到其中一项服务时收到以下异常。

org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://dds-service.domain.com" General SSLEngine problem; nested exception is javax.net.ssl.SSLHandshakeException: General SSLEngine problem [...]
[...] Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target [...]
[...] Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

所以我首先尝试的是在我的浏览器中打开应用程序尝试连接的同一个 url,下载它的通配符证书(.cer Base64 编码)并使用密钥工具将其导入到尝试验证证书时 WebLogic 加载和查找的 jvm 信任库。我确定是正确的,因为我导入了导致相同错误的其他证书,也因为这个日志

<Loading trusted certificates from the jks keystore file C:\WEBLOG~1\wls\JROCKI~1.1-3\jre\lib\security\cacerts.> 

至此,我认为问题与我在WebLogic中导入通配符证书的方式有关。我试图寻找不同的方法来做到这一点,但像 this one 一样,需要一个我目前无法使用的 .pfx 文件。

我需要 .pfx 来解决这个问题还是有其他方法?

如果有人遇到同样的问题,这是我找到的解决方案:似乎 WLS 10.3.x 在信任密钥超过 128 位的证书方面存在问题,这就是导致问题的原因在一审中。也就是说,2 个动作解决了我的问题

  1. -DUseSunHttpHandler=true 添加为 setDomainEnv 脚本中的 VM 参数
  2. 通过 WLS 管理控制台启用 JSSE SSL(环境 > 服务器 > 服务器名称 > 配置 > SSL > 高级 > 选中 JSSE SSL 框)
  3. 点击保存,重启WLS服务器。