Benutzernamenstoken als bestätigendes Token und symmetrisches X509-Token für Nachrichtenschutz

Beim Nachrichtenschutz über ein symmetrisches X509-Token wird ein ephemerer Schlüssel zum Signieren und Verschlüsseln der Nachricht erstellt. Der ephemere Schlüssel wird über das öffentliche Zertifikat des Empfängers verschlüsselt. Ein Benutzernamenstoken (UsernameToken) mit abgeleiteten Schlüsseln wird zur Authentifizierung verwendet. Die Nachrichtensignatur wird mit dem abgeleiteten Schlüssel des Benutzernamenstokens signiert. Außerdem wird die Nachricht mit einer Zeitmarke (Timestamp) versehen.

Diese Richtlinienschablone kann verwendet werden, wenn der HTTP-Transport nicht unterstützt wird, der Service ein X509-Token hat, ein Benutzernamenstoken unterstützt und der Service voraussetzt, dass der Client die Nachricht bestätigt.

Die folgende Richtlinie zeigt ein Benutzernamenstoken als bestätigendes Token (EndorsingToken) und ein symmetrisches X509-Token für Nachrichtenschutz:
<wsp:Policy wsu:Id="UsernameTokenAsEndorsingAndX509Symmetric">
  <wsp:ExactlyOne>
    <wsp:All>
      <sp:SymmetricBinding>
        <wsp:Policy>
          <sp:ProtectionToken>
            <wsp:Policy>
              <sp:X509Token
                sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
                <wsp:Policy>
                  <sp:WssX509V3Token10 />
                </wsp:Policy>
              </sp:X509Token>
            </wsp:Policy>
          </sp:ProtectionToken>
          <sp:Layout>
            <wsp:Policy>
              <sp:Lax />
            </wsp:Policy>
          </sp:Layout>
          <sp:IncludeTimestamp />
          <sp:OnlySignEntireHeadersAndBody />
          <sp:AlgorithmSuite>
            <wsp:Policy>
              <sp:Basic128 />
            </wsp:Policy>
          </sp:AlgorithmSuite>
        </wsp:Policy>
      </sp:SymmetricBinding>
      <sp:SignedEndorsingEncryptedSupportingTokens>
        <wsp:Policy>
          <sp:UsernameToken
            sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
            <wsp:Policy>
              <sp:WssUsernameToken10 />
              <sp:RequireDerivedKeys />
            </wsp:Policy>
          </sp:UsernameToken>
        </wsp:Policy>
      </sp:SignedEndorsingEncryptedSupportingTokens>
      <sp:SignedParts>
        <sp:Body />
      </sp:SignedParts>
      <sp:EncryptedParts>
        <sp:Body />
      </sp:EncryptedParts>
    </wsp:All>
  </wsp:ExactlyOne>
</wsp:Policy>
In diesem Beispiel werden die folgenden Namespaces verwendet:
  • 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"

Symbol das den Typ des Artikels anzeigt. Konzeptartikel

Dateiname: cwlp_wssec_templates_scenario3.html