我在 WebLogic 12.1.2.0.0 上部署了一个 WAR 文件。应用程序通过 HTTPS 调用 Web 服务。证书在 DemoTrust.jks 中导入。所有与 SSL 相关的设置都应该正确。实际上它可以工作,但是在服务器重新启动后,它在大约 15-20 分钟内无法工作,之后它又开始工作。在此期间,控制台会打印以下错误:
<Warning> <Security> <BEA-090504> <Certificate chain received from xxx.xxxxxxxx.xxx.com -
167.107.80.230 failed hostname verification check. Certificate contained xxx.xxxxxxxx.xxx.com
but check expected xxx.xxxxxxxx.xxx.com>
警告后我得到:
javax.xml.ws.WebServiceException: javax.net.ssl.SSLKeyException: Hostname verification failed:
HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier,hostname=xxx.xxxxxxxx.xxx.com.
在上面的警告中包含的域和预期的域是相同的。
感谢您的帮助!
-E
最佳答案
如果这是证书名称中通配符的问题(例如,weblogic 默认验证程序认为 *.salesforce.com 的证书不包括 cs86.salesforce.com),WebLogic 实际上提供了一个自定义验证程序以供使用:weblogic.security.utils.SSLWLSWildcardHostnameVerifier
.此值应输入到服务器的 SSL 配置中 Console -> Servers -> {Server Name} -> SSL -> Advanced -> Custom Hostname Verifier
关于ssl-certificate - WebLogic 12 SSLKeyException : Hostname verification failed after restart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27550586/