J'ai un fichier WAR déployé sur WebLogic 12.1.2.0.0. L'application appelle un service Web via HTTPS. Le certificat est importé dans DemoTrust.jks. Tous les paramètres liés à SSL doivent être corrects. Et en fait, cela fonctionne, mais après le redémarrage du serveur, il ne fonctionne pas pendant environ 15-20 minutes, après quoi il recommence à fonctionner. Pendant cette période, les erreurs suivantes sont imprimées dans la 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>
Après l'avertissement, je reçois:
javax.xml.ws.WebServiceException: javax.net.ssl.SSLKeyException: Hostname verification failed:
HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier,hostname=xxx.xxxxxxxx.xxx.com.
Dans l'avertissement ci-dessus, les domaines contenus et attendus sont identiques.
Merci de votre aide!
-E
S'il s'agit d'un problème avec les caractères génériques dans le nom du certificat (par exemple, le vérificateur par défaut de weblogic ne pense pas que le certificat pour * .salesforce.com couvre cs86.salesforce.com), WebLogic fournit en fait un vérificateur personnalisé à utiliser: weblogic.security.utils.SSLWLSWildcardHostnameVerifier
. Cette valeur doit être entrée dans la configuration SSL du serveur dans Console -> Servers -> {Server Name} -> SSL -> Advanced -> Custom Hostname Verifier
console d'administration Serveurs -> nom du serveur -> onglet Configuration SSL -> Avancé -> Changer la liste déroulante de vérification du nom d'hôte en Aucun
Cela a fonctionné pour moi.
set Java_OPTIONS=%Java_OPTIONS% -DUseSunHttpHandler=true
M'aide. Essayez d'ajouter cette ligne au fichier WebLogic setDomainEnv.(cmd|sh)
. Le but de ce paramètre est de dire à WebLogic d'utiliser HttpHandler de Sun et de ne pas utiliser WebLogic propre.