Vérification des informations de signature pour la liaison de destinataire à l'aide d'API WSS

Vous pouvez configurer les informations de signature pour les liaisons de destinataire (récepteur) de réponses côté client. Ces informations servent à signer et à valider des parties d'un message dont le corps SOAP, les informations d'horodatage et le jeton Username.

Avant de commencer

WebSphere Application Server utilise la signature XML numérique avec des algorithmes existants, tels que RSA, HMAC et SHA1. La signature XML définit un grand nombre de méthodes de description des informations clé et active la définition d'une nouvelle méthode. Avant de suivre cette procédure, voir les informations sur la signature numérique XML pour vous familiariser avec la signature et la vérification de signatures numériques pour des contenus numériques.

En incluant la signature XML dans des messages SOAP, vous assurez l'intégrité et l'authentification des messages. L'intégrité désigne la signature numérique, alors que la confidentialité fait référence au chiffrement. L'intégrité limite le risque d'altération des données lors de leur transmission sur Internet.

Avant de vérifier la signature et les parties signées du message SOAP, vous devez avoir effectué les opérations suivantes :

  • Configuration de la signature.
  • Ajout de parties signées, si besoin est.
  • Choix de la signature et des méthodes de parties signées.

Pourquoi et quand exécuter cette tâche

Utilisez les API Web Services Security (API WSS) pour configurer les informations de vérification des signatures pour la section du destinataire de réponses (côté client) du fichier de liaison. Utilisez les API WSSVerification ou WSSVerifyPart pour configurer le client pour la vérification de la signature de demande et pour indiquer les parties du message signées de façon numérique à vérifier.

WebSphere Application Server utilise les informations de signature côté destinataire pour vérifier l'intégrité du message SOAP reçu en ne validant que le fait que les parties du message (telles que le corps, l'horodatage et le jeton du nom d'utilisateur) sont signées.

Côté client, utilisez les API WSS ou configurez des ensembles de règles à l'aide de la console d'administration pour indiquer les parties du message qui sont signées et pour configurer les informations de clé désignées par les références correspondantes. Pour vérifier la signature et les parties signées, utilisez les API WSSVerification et WSSVerifyPart.

WebSphere Application Server fournit les valeurs par défaut des liaisons. Toutefois, un administrateur doit modifier les valeurs par défaut pour un environnement de production.

Les API WSSVerification et WSSVerifyPart suivent les étapes ci-après pour indiquer les parties du message signées de façon numérique qui doivent être vérifiées lors de la configuration du client pour la signature du destinataire de réponses :

Procédure

  1. L'API WSSVerification ajoute les portions à vérifier obligatoires du message SOAP.

    La référence de la portion fait référence à la partie du message signée numériquement. L'attribut de la portion fait référence au nom de l'élément <Integrity> lorsque l'élément <PartReference> est indiqué pour la signature. Vous pouvez spécifier plusieurs éléments <PartReference> dans l'élément <SigningInfo>. L'élément <PartReference> possède deux éléments enfant spécifiés pour la signature : <DigestTransform> et <Transform>.

    L'API WSSVerification configure les parties suivantes comme portions à vérifier :

    Partie de vérification Description
    Jeton de sécurité Ajoute des informations pour le jeton de sécurité utilisé pour la vérification de la signature.
    En-tête SOAP et QName comme cible Ajoute l'en-tête SOAP, indiqué par QName, comme portion à vérifier.
    Les API WSS permettent l'emploi de mots clés ou d'une expression XPath pour préciser les portions du message devant être vérifiées. WebSphere Application Server prend en charge l'utilisation des mots clés suivants :
    Mot clé Références
    WSSVerification.ADDRESSING_HEADERS En-têtes Web Services Addressing (WS-Addressing).
    WSSVerification.BODY Corps du message SOAP. Partie du message contenant les données utilisateur.
    WSSVerification.TIMESTAMP Informations sur l'horodatage de création et d'expiration.
  2. L'API WSSVerification ajoute l'en-tête obligatoire pour le message SOAP. L'en-tête, indiqué par QName, est un en-tête de vérification obligatoire.
  3. L'API WSSVerification ajoute un jeton de sécurité. Ajoute des informations sur le jeton de sécurité à utiliser pour la vérification de la signature, comme :
    • la classe pour le jeton de sécurité,
    • le gestionnaire d'appel,
    • le nom de la configuration de connexion JAAS.
  4. L'API WSSVerification ajoute l'algorithme de la méthode de signature. La méthode de signature correspond à l'algorithme utilisé pour convertir l'élément <SignedInfo> canonisé en élément <SignatureValue>. L'algorithme indiqué pour le destinataire, à savoir la configuration du destinataire de réponses, doit correspondre à celui indiqué pour la configuration du générateur de demandes. WebSphere Application Server prend en charge les algorithmes de signature préconfigurés suivants :

    WebSphere Application Server ne prend pas en charge l'algorithme suivant pour DSA-SHA1: http://www.w3.org/2000/09/xmldsig#dsa-sha1. Vous ne pouvez pas utiliser l'algorithme DSA-SHA1 si vous voulez respecter le profil de sécurité de base (BSP).

  5. L'API WSSVerification ajoute une méthode de canonisation. L'algorithme de la méthode de canonisation permet de canoniser l'élément <SignedInfo> avant qu'il soit incorporé dans l'opération de signature numérique. L'algorithme de canonisation spécifié pour le générateur doit correspondre à celui défini pour le destinataire.

    WebSphere Application Server prend en charge les algorithmes de canonisation préconfigurés suivants :

  6. L'API WSSVerification vérifie si une confirmation de signature est obligatoire. La spécification OASIS Web Services Security (WS-Security) version 1.1 détermine l'utilisation de la confirmation de signature. Si vous utilisez WS-Security version 1.0, cette fonction n'est pas disponible.

    La valeur de confirmation de la signature est stockée pour valider cette confirmation une fois le message de réception retourné. Cette méthode est appelée si le message de réponse doit associer la confirmation de signature au message SOAP.

  7. L'API WSSVerifyPart ajoute une méthode de synthèse (digest). Pour chaque référence de partie dans les informations de signature, l'API indique un algorithme de méthode de synthèse et un autre de transformation.

    WebSphere Application Server prend en charge les algorithmes de synthèse (digest) préconfigurés suivants :

    • WSSVerifyPart.SHA1 : http://www.w3.org/2000/09/xmldsig#sha1
    • WSSVerifyPart.SHA256 : http://www.w3.org/2001/04/xmlenc#sha256
    • WSSVerifyPart.SHA512 : http://www.w3.org/2001/04/xmlenc#sha512
  8. L'API WSSVerifyPart ajoute une méthode de transformation. Pour chaque référence de partie dans les informations de signature, l'API indique un algorithme de méthode de synthèse et un autre de transformation.

    WebSphere Application Server prend en charge les algorithmes de transformation préconfigurés suivants :

    • WSSVerifyPart.TRANSFORM_EXC_C14N (la valeur par défaut) : http://www.w3.org/2001/10/xml-exc-c14n#
    • WSSVerifyPart.TRANSFORM_XPATH2_FILTER : http://www.w3.org/2002/06/xmldsig-filter2
    • WSSVerifyPart.TRANSFORM_STRT10 : http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
    • WSSVerifyPart.TRANSFORM_ENVELOPED_SIGNATURE : http://www.w3.org/2000/09/xmldsig#enveloped-signature

    Pour les API WSS, WebSphere Application Server ne prend pas en charge ces algorithmes :

    • http://www.w3.org/2002/07/decrypt#XML
    • http://www.w3.org/TR/1999/REC-xpath-19991116

    L'algorithme de transformation pour le destinataire doit correspondre à celui pour le générateur.

Résultats

Vous avez terminé la procédure de configuration des informations de signature pour les sections de destinataire de réponses côté client des fichiers de liaison.

Exemple

L'exemple suivant montre un exemple de code d'API WSS pour vérifier la signature et le type de jeton X.509 comme jeton de sécurité :

WSSFactory factory = WSSFactory.getInstance();
WSSConsumingContext concont = factory.newWSSConsumingContext();
// Générer le gestionnaire d'appel X.509 côté destinataire
    X509ConsumeCallbackHandler callbackhandler = generateCallbackHandler(); 
    WSSVerification ver = factory.newWSSVerification(X509Token.class, 
        callbackhandler);
concont.add(ver);

Que faire ensuite

Si vous ne l'avez pas déjà fait, indiquez une configuration similaire pour les informations de signature concernant les liaisons de générateur.

Ensuite, si la configuration existe déjà, configurez les informations de chiffrement et de déchiffrement, ou bien les jetons de destinataire et de générateur.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_configsigninfoconjaxws
Nom du fichier : twbs_configsigninfoconjaxws.html