認証に UsernameToken、メッセージ保護に X509Token 対称を使用

平文パスワードを使用した UsernameToken が認証に使用されます。 要求内の UsernameToken と、要求および応答内の SOAP 本体には、X509Token 対称メッセージ保護で署名と暗号化が行われます。 また、メッセージ・タイム・スタンプもあります。

X509Token 対称保護では、一時鍵を作成してメッセージの署名と暗号化を行います。 一時鍵は、受信側のパブリック証明書を使用して暗号化されます。

このサンプルで、トークン参照は RequireThumbprintReference を使用しています。 RequireIssuerSerialReference または RequireKeyIdentifierReference を使用するようにポリシーを変更することができます。 また、<sp:RequireDerivedKeys /> アサーションを追加することで、一時鍵からの導出鍵を使用してメッセージ交換を保護するように、 このポリシーを変更することもできます。

クライアントが UsernameToken のみを使用して自身を認証できて、 メッセージ交換が署名および暗号化される必要がある場合に、このポリシー・テンプレートの使用が最適です。

以下のポリシーでは、認証に UsernameToken、メッセージ保護に X509Token 対称を使用しています。
<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>
この例で使用している名前空間は、以下のとおりです。
  • 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"

トピックのタイプを示すアイコン 概念トピック

ファイル名: cwlp_wssec_templates_scenario6.html