2014-12-18 15 views
5

Ho un file WAR distribuito su WebLogic 12.1.2.0.0. L'applicazione chiama un servizio Web tramite HTTPS. Il certificato è importato in DemoTrust.jks. Tutte le impostazioni relative a SSL dovrebbero essere corrette. E in realtà funziona, ma dopo il riavvio del server non funziona per circa 15-20 minuti, dopo di che riprende a funzionare. Durante questo periodo i seguenti errori sono stampati in console:WebLogic 12 SSLKeyException: verifica nome host non riuscita dopo il riavvio

<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> 

Dopo l'avvertimento ottengo:

javax.xml.ws.WebServiceException: javax.net.ssl.SSLKeyException: Hostname verification failed: 
HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier,hostname=xxx.xxxxxxxx.xxx.com. 

Nel avvertimento sopra domini contenuti e attesi sono identici.

Grazie per il vostro aiuto!

-E

+3

Sei sicuro che cosa è contenuto ESATTAMENTE corrisponde a quello che ci si aspettava? Hai provato a disattivare la verifica del nome host? Nella console di gestione 'Server -> nome server -> scheda SSL di configurazione -> Avanzate -> Cambia elenco a discesa Verifica nome host su Nessuno' –

+0

Ciao, sì sono sicuro. E sì, ho provato a cambiare questo elenco a Nessuno. Ancora lo stesso comportamento. –

risposta

6

set JAVA_OPTIONS=%JAVA_OPTIONS% -DUseSunHttpHandler=true mi aiuta. Prova ad aggiungere questa linea al file WebLogic setDomainEnv.(cmd|sh). Lo scopo di questo parametro è di dire a WebLogic di utilizzare HttpHandler di Sun e di non utilizzare proprio WebLogic.

8

console di amministrazione Server -> nome del server -> scheda SSL Configurazione -> Avanzate -> Cambia nome host di verifica discesa per Nessuno

Questo ha funzionato per me.

7

Se si tratta di caratteri jolly, ad es. il verificatore predefinito weblogic non ritiene che il certificato per * .salesforce.com copra cs86.salesforce.com, in realtà weblogic fornisca weblogic.security.utils.SSLWLSWildcardHostnameVerifier. Abbiamo solo bisogno di impostarlo come verificatore cliente in console -> Server -> nome server -> SSL -> Avanzato

+0

Sembra la soluzione preferibile. Sfortunatamente ottengo ancora l'errore quando si imposta il Verifier su custom utilizzando weblogic.security.utils.SSLWLSWildcardHostnameVerifier. Weblogic sembra utilizzare ancora il verificatore predefinito weblogic.security.utils.SSLWLSHostnameVerifier. Ho riavviato il server e sto usando WLS 12.1.3 – schoenk

+0

La documentazione associata può essere trovata su https://blogs.oracle.com/sravansarraju/entry/wildcard_ssl_certificate_support_in Ma non ha funzionato per me. – schoenk

+0

era il messaggio di errore che si lamentava su weblogic.security.utils.SSLWLSWildcardHostnameVerifier o weblogic.security.utils.SSLWLSHostnameVerifier? Se il più tardi, hai applicato le modifiche nella console di weblogic dopo la modifica? – lovelywib