Bonjour,
Je suis à la recherche d'une aide à propos d'une authentification "Windows integrated" (NTLM) sur du HTTPS. Tout ceci avec un web services communiquant en SOAP. J'utilise Apache CXF en "backend".
Informations complémentaires :
- Si je désactive le https et revient en http, cela semble fonctionner correctement.
- J'ai bien mis mon certificat dans un keystore. Je n'ai pas de souci de ce côté là.
- J'ai bien désactivé le "chunking" avec un (puisque le NTLM utilise un 3 handshake) :
1 2 3 4 5 6
| Client client = ClientProxy.getClient(myExchStub);
HTTPConduit http = (HTTPConduit) client.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(36000);
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy); |
- J'ai bien défini le domaine de cette manière :
System.setProperty("http.auth.ntlm.domain", "MonDomaineICI");
car en utilisant la notation MonDomaineICI\monUser cela ne fonctionne pas pour un username.
- J'ai défini un Authenticator :
Authenticator.setDefault(new MyAuthenticator());
(J'ai également testé en le désactivant)
Le MyAuthenticator ne semble pas être appelé (au contraire d'une connexion http...), car je n'ai aucun log correspondant.
Mon résultat actuel :
1 2 3 4 5 6
| org.apache.cxf.interceptor.Fault: Read timed out
...
Caused by: com.ctc.wstx.exc.WstxIOException: Read timed out
...
Caused by: java.net.SocketTimeoutException: Read timed out
... |
Comme je suis en https, je ne peux plus utiliser Wireshark pour loguer le trafic.
Toute proposition de solution est la bienvenue.
Merci d'avance
Stéphane
Partager