问题
I have a WAR file deployed on WebLogic 12.1.2.0.0. Application calls a web service via HTTPS. Certificate is imported in DemoTrust.jks. All SSL related settings should be correct. And actually it works but after the server is restarted it does not work for about 15-20 minutes, after that it starts working again. During this period the following errors are printed in console:
<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>
After the warning I get:
javax.xml.ws.WebServiceException: javax.net.ssl.SSLKeyException: Hostname verification failed:
HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier,hostname=xxx.xxxxxxxx.xxx.com.
In the warning above contained and expected domains are identical.
Thank you for your help!
-E
回答1:
If this is an issue with wildcards in the certificate name (e.g. weblogic default verifier doesn't think the certificate for *.salesforce.com covers cs86.salesforce.com), WebLogic actually provides a custom verifier to use: weblogic.security.utils.SSLWLSWildcardHostnameVerifier
. This value should be entered in the SSL configuration for the server in Console -> Servers -> {Server Name} -> SSL -> Advanced -> Custom Hostname Verifier
回答2:
admin console Servers -> server name -> Configuration SSL tab -> Advanced -> Change Hostname Verification dropdown to None
This worked for me.
回答3:
set JAVA_OPTIONS=%JAVA_OPTIONS% -DUseSunHttpHandler=true
helps me. Try to add this line to WebLogic setDomainEnv.(cmd|sh)
file. The purpose of this parameter is to tell WebLogic to use Sun's HttpHandler and do not use WebLogic own.
来源:https://stackoverflow.com/questions/27550586/weblogic-12-sslkeyexception-hostname-verification-failed-after-restart