utilisation de certificats clients avec les services web
Bonsoir à tout le monde,
je voudrais savoir par quel mécanisme se fait l'utilisation de certificats avec les services web.
je crois savoir qu'il faut utiliser les options local_cert et passphrase. mais je ne sais pas comment.
et j'aimerai qu'on m'explique le mécanisme (comment cela fonctionne en arrière plan)
merci d'avance.
by romerson
Comment fonctionne ton service web ? C'est du SOAP ? Ou bien c'est juste une URL que tu GET avec divers paramètres ?
Personnellement, j'ai déjà utilisé curl avec des certificats sur une URL basique, donc si tu utilises curl, je peux t'aider.
Si tu as un client, SOAP, le manuel php semble assez bien
explicite. Il suffit juste de rajouter 2 options au constructeur du client SOAP pour utiliser le certificat local et la passphrase.
Sinon, pour comprendre ce qu'il se passe vraiment, je te conseille de lire wikipedia sur SSL / TLS etc.
c'est du SOAP.
Oui je crée le client soap avec les options local_cert et passphrase, mais j'aimerai savoir comment vérifier l'authentification du côté du server:
N' y a t-il aucune option ou aucun code particulier a rajouté dans la clase serveur pour vérifier le certificat est acceptable?
pareil avec l'utilisation des options login et password.
by romerson
Du côté serveur, c'est pas en PHP que ca se règle.
C'est au niveau de ton serveur web (apache ?) où il faut activer le mod ssl pour faire du https. C'est lui qui acceptera ou non la connexion.
en fait j'aimerai savoir, le certificat que je vais créer, ce sera celui du client qui doit s'identifier pour accéder au web service? et dans ce cas, s'il fournit un passphrase pour prouver que c'est bien lui qui est à l'origine du certificat, comment le serveur pourra authentifier qu'il est authentique ou que le client(qui donne son certificat et donne à la fois le passphrase) à le droit ed se connecter?
en fait je me disais qu'il fallait peut être créer un certificat, pour le client, le stocker sur le serveur (donc le wsdl est situé sur un serveur avec le protocole https:// (pour dire de manière grossière)) et puis chacun des clients qui veut utiliser le service web doit fournir le passphrase qui a permis de créer le certificat. mais dans ces conditions pourquoi le client doit encore fournir le local_cert (qui est le certficat+la clé).
en fait je ne comprends pas bien le fonctionnement.
merci.
by romerson
Pour comprendre ce mécanisme, le mieux, c'est de lire wikipedia sur tout ce qui est SSL / TLS, cryptographie, etc.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: