Autenticación de UsernameToken y X509Token simétrica para la protección de mensaje

Se utiliza una UsernameToken con contraseña de texto simple para la autenticación. La UsernameToken de la solicitud y el cuerpo SOAP de la solicitud y respuesta se firman y se cifran con protección de mensaje simétrico X509Token. Hay también una indicación de fecha y hora del mensaje.

Con protección simétrica X509Token, se crea una clave efímera para firmar y cifrar el mensaje. La clave efímera se cifra utilizando el certificado público del receptor.

En este ejemplo, la referencia de señal utiliza una RequireThumbprintReference. Puede cambiar la política para que utilice una RequireIssuerSerialReference o una RequireKeyIdentifierReference. Puede modificar también esta política para utilizar claves derivadas de una clave efímera para asegurar el intercambio de mensajes añadiendo una aserción <sp:RequireDerivedKeys />.

Cuando mejor se utiliza esta plantilla de política es si el cliente puede utilizar solo una UsernameToken para autenticarse a sí mismo y si se debe firmar y cifrar el intercambio de mensajes.

La política siguiente muestra una autenticación de UsernameToken y una X509Token simétrica para la protección de mensaje:
<wsp:Policy wsu:Id="X509SymmetricForMessageAndUntForClient">
  <wsp:ExactlyOne>
    <wsp:All>
      <sp:SignedEncryptedSupportingTokens
        xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
        <wsp:Policy>
          <sp:UsernameToken
            sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
            <wsp:Policy>
              <sp:WssUsernameToken10 />
            </wsp:Policy>
          </sp:UsernameToken>
        </wsp:Policy>
      </sp:SignedEncryptedSupportingTokens>
      <sp:SymmetricBinding>
        <wsp:Policy>
          <sp:ProtectionToken>
            <wsp:Policy>
              <sp:X509Token
                sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
                <wsp:Policy>
                  <sp:RequireThumbprintReference />
                  <sp:WssX509V3Token10 />
                </wsp:Policy>
              </sp:X509Token>
            </wsp:Policy>
          </sp:ProtectionToken>
          <sp:AlgorithmSuite>
            <wsp:Policy>
              <sp:Basic128 />
            </wsp:Policy>
          </sp:AlgorithmSuite>
          <sp:Layout>
            <wsp:Policy>
              <sp:Strict />
            </wsp:Policy>
          </sp:Layout>
          <sp:IncludeTimestamp />
          <sp:OnlySignEntireHeadersAndBody />
          <sp:EncryptSignature />
        </wsp:Policy>
      </sp:SymmetricBinding>
      <sp:Wss11>
        <wsp:Policy>
          <sp:MustSupportRefKeyIdentifier />
          <sp:MustSupportRefIssuerSerial />
          <sp:MustSupportRefThumbprint />
          <sp:MustSupportRefEncryptedKey />
          <sp:RequireSignatureConfirmation />
        </wsp:Policy>
      </sp:Wss11>
      <sp:SignedParts>
        <sp:Body />
      </sp:SignedParts>
      <sp:EncryptedParts>
        <sp:Body />
      </sp:EncryptedParts>
    </wsp:All>
  </wsp:ExactlyOne>
</wsp:Policy>
Los espacios de nombres utilizados en este ejemplo son:
  • xmlns:wsp="http://www.w3.org/ns/ws-policy"
  • xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
  • xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"

Icono que indica el tipo de tema Tema de concepto

Nombre de archivo: cwlp_wssec_templates_scenario6.html