Compartir a través de


Cómo: Establecer una confirmación de firma

La confirmación de firma es un mecanismo para que un iniciador de mensaje asegure que una respuesta recibida se generó en respuesta al mensaje original del remitente. La confirmación de la firma se define en la especificación WS-Security 1.1. Si un extremo admite WS-Security 1.0, no puede utilizar la confirmación de firma.

Los procedimientos siguientes especifican cómo habilitar la confirmación de firma mediante un AsymmetricSecurityBindingElement. Puede utilizar el mismo procedimiento con SymmetricSecurityBindingElement. El procedimiento se genera en base a los pasos básicos de Cómo: Crear un enlace personalizado mediante SecurityBindingElement.

Para habilitar la confirmación de firma en código

  1. Cree una instancia de la clase BindingElementCollection.

  2. Cree una instancia de la clase SymmetricSecurityBindingElement.

  3. Establezca RequireSignatureConfirmation en true.

  4. Agregue el elemento de seguridad a la colección de enlaces.

  5. Cree un enlace personalizado, como se especifica en Cómo: Crear un enlace personalizado mediante SecurityBindingElement.

Para habilitar la confirmación de firma en configuración

  1. Agregue un elemento <customBinding> a la sección <bindings> del archivo de configuración.

  2. Agregue un elemento <binding> y establezca el atributo de nombre en un valor adecuado.

  3. Agregue un elemento de codificación adecuado. El siguiente ejemplo agrega un elemento <TextMessageEncoding>.

  4. Agregue un elemento secundario <security> y establezca el atributo requireSignatureConfirmation en true.

  5. Opcional. Para habilitar la confirmación de firma durante el arranque, agregue un elemento secundario secureConversationBootstrap element y establezca el atributo equireSignatureConfirmation en true.

  6. Agregue un elemento de transporte adecuado. El siguiente ejemplo agrega un httpTransport element.

    <bindings>
      <customBinding>
        <binding name="SignatureConfirmationBinding">
          <security requireSignatureConfirmation="true">
            <secureConversationBootstrap requireSignatureConfirmation="true" />
              </security>
           <textMessageEncoding />
             <httpTransport />
        </binding>
      </customBinding>
    </bindings>
    

Ejemplo

El siguiente código crea una instancia del SymmetricSecurityBindingElement y establece la propiedad RequireSignatureConfirmation en true. Observe que este ejemplo no utiliza el elemento <secureConversationBootstrap> mostrado en el ejemplo anterior. Este ejemplo muestra la confirmación de firma al utilizar un token de Windows (protocolo Kerberos). En este caso, la firma del cliente se devuelve en todas las respuestas del servicio y es confirmada por el cliente.

Consulte también

Tareas

Cómo: Crear un SecurityBindingElement para un modo de autenticación especificado

Referencia

SymmetricSecurityBindingElement
AsymmetricSecurityBindingElement
CreateMutualCertificateBindingElement

Conceptos

Cómo: Crear un enlace personalizado mediante SecurityBindingElement