2012-11-03 16 views
5

sto ottenendo il seguente erroreL'URL https nome host non corrisponde al nome comune (CN) il certificato del server

javax.xml.ws.soap.SOAPFaultException: Marshalling Error: The https URL hostname does not match the Common Name (CN) on the server certificate. To disable this check (NOT recommended for production) set the CXF client TLS configuration property "disableCNCheck" to true. 

quando provo a collegare e utilizzare i servizi Web.

Ho aggiunto le seguenti righe in cxf.xml ma ancora non funziona.

<http-conf:conduit name="*.http-conduit"> 
<!-- deactivate HTTPS url hostname verification (localhost, etc) 
WARNING ! disableCNcheck=true should NOT be used in production --> 
<http-conf:tlsClientParameters disableCNCheck="true" /> 

Il file cxf.xml è posto sotto WEB-INF/classes/CxfService.

Gentilmente fammi sapere su quale sarebbe il problema ?.

+0

Il file cxf.xml non dovrebbe essere direttamente in 'WEB-INF/classes'? –

+0

@Peter, Grazie per la risposta, ma la posizione di cxf.xml è importante perché è di 1 livello in WEB-INF/classes ?. – user1795961

+0

@Peter: ho provato a collocare il file cxf.xml sotto WEB-INF/classes ma non è stato d'aiuto neanche. Ancora lo stesso messaggio. – user1795961

risposta

1

Potrebbe non esserci alcun problema con questa configurazione. Il nome host che si utilizza nell'URL del servizio Web non corrisponde al nome host nel certificato, ma ciò potrebbe essere dovuto a un numero di motivi legittimi, pur consentendo l'accesso ai dati corretti.

SSL offre due tipi di protezioni.

  1. Privacy: Fornisce un canale criptato sul quale i dati passa in modo che nessun altro può vedere che Assurance dati
  2. Fonte: Esso prevede inoltre la garanzia che si è connessi al sito che hai chiesto di essere collegato a.

È quindi possibile vedere tre livelli di sicurezza:

  • senza protezioni a tutti
  • canale cifrato in modo che nessuno possa vedere i dati
  • canale crittografato, così come garanzia che si è connessi al sito che ci si aspetta.

È quest'ultima funzione che si sta disabilitando. Il sito fornisce un certificato crittografato che può essere decodificato per indicare il nome DNS utilizzato per accedere al sito. Se il nome che hai usato e il nome nel certificato non corrispondono, ricevi questo avviso. Come probabilmente saprai, esistono diversi modi per indirizzare un server e il certificato corrisponde solo al nome DNS per il quale il certificato è destinato. Forse non stai accedendo al servizio con il nome corretto? O forse hai un servizio "autofirmato" che offre il canale crittografato, ma non la garanzia della fonte.

La domanda da porsi: Sei preoccupato che qualcuno hackerare il sistema DNS, e causare la vostra richiesta (tramite il nome DNS) di essere indirizzati a un server che poi servirà il backup dei dati falsi al posto del servizio Web che si aspettarsi. Certamente può succedere, e non dirò che non succede mai, ma è molto raro. Vedi more discussion of this.

Questo è il potenziale problema: qualcuno potrebbe falsificare il servizio Web che si sta chiamando. Gli esperti di sicurezza non consiglieranno mai una posizione di compromesso, ma dovresti valutare il valore dei dati, la probabilità di un servizio falsificato e il danno che tale spoofing potrebbe causare. Se questo è un problema significativo, è necessario utilizzare un nome host che corrisponda al certificato, oppure è necessario ottenere un certificato che corrisponda al nome host che si utilizza.

Problemi correlati