Compartir a través de


Procedimiento para proteger mensajes dentro de sesiones confiables

En este tema se describen los pasos necesarios para habilitar la seguridad de mensajes para los mensajes intercambiados dentro de una sesión confiable utilizando uno de los enlaces proporcionados por el sistema que admiten este tipo de sesión, pero no de forma predeterminada. Habilite una sesión confiable y segura de manera imperativa mediante código o de manera declarativa en el archivo de configuración. Este procedimiento utiliza los archivos de configuración de servicio y cliente para habilitar la sesión segura y confiable.

Este procedimiento está compuesto por tres tareas clave:

  1. Especifique que el cliente y el servicio intercambien mensajes dentro de una sesión confiable.

  2. Requiera la seguridad de mensajes dentro de la sesión confiable.

  3. Especifique el tipo de credencial de cliente que debe utilizar el cliente para autenticarse en el servicio.

Es importante en la primera tarea que el elemento de configuración del punto de conexión contenga un atributo bindingConfiguration que haga referencia a una configuración de enlace denominada (en este ejemplo) MessageSecurity. A continuación, el elemento de configuración <binding> hace referencia a este nombre para habilitar sesiones confiables estableciendo el atributo enabled del elemento <reliableSession> en true. Puede requerir que las garantías de entrega ordenada estén disponibles dentro de una sesión confiable estableciendo el atributo ordered en true.

Para ver la copia del origen del ejemplo en el que se basa este procedimiento de configuración, consulte Sesión de confianza de WS.

Los elementos esenciales de la segunda tarea se logran estableciendo el atributo mode del elemento <security> contenido en el elemento <binding> del cliente y servicio en Message.

Los elementos esenciales de la tercera tarea se logran estableciendo el atributo clientCredentialType del elemento <message> contenido en el elemento <security> del cliente y servicio en Certificate.

Nota

Al utilizar la seguridad de mensajes con sesiones confiables, la mensajería confiable intenta autenticar un cliente sin autenticar hasta que se supere un tiempo de espera en lugar de producir una excepción tras el primer error.

Configuración del servicio con WSHttpBinding para utilizar una sesión confiable

Este procedimiento se describe en Procedimiento para intercambiar mensajes dentro de una sesión confiable.

Configuración del cliente con un WSHttpBinding para utilizar una sesión confiable

Este procedimiento se describe en Procedimiento para intercambiar mensajes dentro de una sesión confiable.

Establecimiento del modo y de la propiedad ClientCredentialType mediante configuración

  1. Agregue un elemento de enlace apropiado al elemento <bindings> del archivo de configuración. En el ejemplo siguiente se agrega un elemento <wsHttpBinding>.

  2. Agregue un elemento <binding> y defina su atributo name en un valor adecuado. En este ejemplo se usa el nombre de MessageSecurity.

  3. Agregue un elemento <security> y establezca el atributo mode como Message.

  4. Dentro del elemento <security> , agregue un elemento <message> y establezca el atributo clientCredentialType en Certificate.

<wsHttpBinding>
  <binding name="MessageSecurity">
    <security mode="Message">
      <message clientCredentialType="Certificate" />
    </security>
  </binding>
</wsHttpBinding>