微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WebLogic 10.3.4 通配符证书导入

如何解决WebLogic 10.3.4 通配符证书导入

我有一个本地环境,其中部署了 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 作为 VM 参数添加到 setDomainEnv 脚本中
  2. 通过 WLS 管理控制台启用 JSSE SSL(环境 > 服务器 > 服务器名称 > 配置 > SSL > 高级 > 选中 JSSE SSL 框)
  3. 单击“保存”,然后重新启动 WLS 服务器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。