Bonjour à tous,
Je dois développer des WebServices, les sécuriser dans un tunnel HTTPS, et y accéder depuis du JS (AngularJS) hébergé sur un autre domaine... Oui, je sais...
Quand je tappe le WSDL de mon WebService depuis un navigateur, il me demande quel certificat je veux envoyer (j'ai créé ce dernier avec OpenSSL et je l'ai chargé dans mon navigateur). Puis le serveur m'envoie à son tour son certificat, que j'accepte. A partir de là, on peut communiquer. Jusque là, tout va bien et tout me semble normal.
Maintenant, quand je veux faire l'appel à ce même WSDL depuis un JS (que j'appelle depuis un index.html en local sur file://) je récupère évidemment un objet XmlHTTPRequest, positionne withCredentials=true, j'ai positonné le Access-Control-Allow-Origin: * sur mon serveur ainsi que Access-Control-Allow-Credentials: true.
Problème : mon JS n'envoie pas le certificat client, donc le serveur... ne lui répond pas.
Existe-t-il une solution pour envoyer un certificat avec JS et accepter celui du serveur ?
Ou la seule solution pour moi est de mettre en place un proxy frontal qui s'occupe de :
- établir le lien HTTPS/SSL avec le client
- dispatcher vers les 2 domaines les requêtes clientes
- Pour être sécurisé de point à point, je dois pouvoir mettre en place un tunnel SSL entre mon frontal et mes 2 serveurs non ?
Par avance, merci pour vos pistes, réponses, solutions, etc...
Olivier.
Partager