Méthode d'authentification par signature
L'authentification par signature correspond à un certificat X.509 que le client envoie au serveur. Le certificat est utilisé pour l'authentification auprès du registre d'utilisateurs configuré sur le serveur. Lors de l'utilisation d'une méthode d'authentification par signature, le jeton de sécurité est généré avec un élément ds:Signature et un élément wsse:BinarySecurityToken.
- Génération de jeton de signature
- L'expéditeur de la demande génère un jeton de sécurité de signature à l'aide d'un gestionnaire
d'appel. Le jeton de sécurité renvoyé par le gestionnaire d'appel est inséré dans le message
SOAP. Le gestionnaire d'appel est indiqué dans l'élément <LoginBinding>
du fichier de liaisons ibm-webservicesclient-bnd.xmi. WebSphere
Application Server fournit l'implémentation du gestionnaire d'appel suivante
pouvant être utilisée avec la méthode d'authentification par signature :
com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
Vous pouvez ajouter vos propres gestionnaires d'appel qui implémentent l'implémentation javax.security.auth.callback.CallbackHandler.
- Validation du jeton de sécurité
- L'expéditeur de la demande extrait le jeton de sécurité Signature du message SOAP et le valide à l'aide d'un module de connexion JAAS. Les éléments <ds:Signature> et <wsse:BinarySecurityToken> du jeton de sécurité
permettent d'effectuer la validation. Si la validation aboutit, le module de
connexion renvoie un sujet JAAS (Java Authentication and Authorization Service). Ce sujet est défini en tant qu'identité de l'unité
d'exécution. Si la validation n'aboutit pas, la
demande est rejetée avec une exception d'erreur SOAP.
La configuration de la connexion JAAS est définie dans l'élément <LoginMapping> du fichier de liaisons. Les liaisons par défaut sont définies dans le fichier ws-security.xml. Toutefois, vous pouvez remplacer ces liaisons à l'aide du fichier ibm-webservices-bnd.xmi spécifique à l'application. Les informations de configuration sont composées des éléments CallbackHandlerFactory et ConfigName. L'élément CallbackHandlerFactory définit le nom d'une classe utilisée pour la création d'un objet CallbackHandler JAAS. WebSphere Application Server fournit l'implémentation com.ibm.wsspi.wssecurity.auth.callback.WSCallbackHandlerFactoryImp CallbackHandlerFactory. ConfigName définit une entrée de nom de configuration. WebSphere Application Server recherche une entrée de nom de configuration correspondante dans le fichier security.xml. Si aucune correspondance n'est trouvée, une recherche est effectuée dans le fichier wsjaas.conf. WebSphere Application Server fournit l'entrée de configuration par défaut system.wssecurity.Signature, adaptée à la méthode d'authentification par signature.