Comment : configurer une confirmation de signature
La confirmation de signature est un mécanisme permettant à un initiateur de message de s'assurer qu'une réponse reçue a été générée suite au message d'origine de l'expéditeur. La confirmation de signature est définie dans la spécification WS-Security 1.1. Si un point de terminaison prend en charge WS-Security 1.0, vous ne pouvez pas utiliser la confirmation de signature.
Les procédures suivantes spécifient comment activer la confirmation de signature à l'aide de AsymmetricSecurityBindingElement. Vous pouvez utiliser la même procédure avec SymmetricSecurityBindingElement. La procédure repose sur les étapes de base indiquées dans Comment : créer une liaison personnalisée à l'aide de SecurityBindingElement.
Pour activer la confirmation de signature dans le code
Créez une instance de la classe BindingElementCollection.
Créez une instance de la classe SymmetricSecurityBindingElement.
Affectez true à RequireSignatureConfirmation.
Ajoutez l'élément de sécurité à la collection de liaisons.
Créez une liaison personnalisée, tel que spécifié dans Comment : créer une liaison personnalisée à l'aide de SecurityBindingElement.
Pour activer la confirmation de signature dans la configuration
Ajoutez un élément <customBinding> à la section <bindings> du fichier de configuration.
Ajoutez un élément <binding> et affectez une valeur appropriée à l'attribut de nom.
Ajoutez un élément de codage approprié. L'exemple suivant ajoute un élément <TextMessageEncoding>.
Ajoutez un élément enfant <security> et affectez true à l'attribut requireSignatureConfirmation.
Facultatif. Pour activer la confirmation de signature pendant le démarrage, ajoutez un élément enfant secureConversationBootstrap element et affectez true à l'attribut equireSignatureConfirmation.
Ajoutez un élément de transport approprié. L'exemple suivant ajoute un httpTransport element :
<bindings> <customBinding> <binding name="SignatureConfirmationBinding"> <security requireSignatureConfirmation="true"> <secureConversationBootstrap requireSignatureConfirmation="true" /> </security> <textMessageEncoding /> <httpTransport /> </binding> </customBinding> </bindings>
Exemple
Le code suivant crée une instance de SymmetricSecurityBindingElement et affecte true à la propriété RequireSignatureConfirmation. Notez que cet exemple n'utilise pas l'élément <secureConversationBootstrap> indiqué dans l'exemple précédent. Cet exemple présente la confirmation de signature lors de l'utilisation d'un jeton Windows (protocole Kerberos). Dans ce cas, la signature du client est retournée dans toutes les réponses du service et est confirmée par le client.
Voir aussi
Tâches
Comment : créer un SecurityBindingElement pour un mode d'authentification spécifié
Référence
SymmetricSecurityBindingElement
AsymmetricSecurityBindingElement
CreateMutualCertificateBindingElement
Concepts
Comment : créer une liaison personnalisée à l'aide de SecurityBindingElement