2.2.1.7 Signature Element

The <Signature> element is specified in [XMLDSig/2008] section 4.1, [WSS1] sections 7.1 and 8 (excluding subsection 8.3), [WSS] sections 7.1 and 8 (excluding subsections 8.3 and 8.5), and [BSP] section 8.

Signatures are tied to security tokens as specified in sections 2.2.1.3.1, 2.2.1.5, and 2.2.1.6. All references to security tokens MUST be internal as specified in [BSP] section 7.6.

Each <Signature> element MUST contain exactly one of each of the following elements as child elements:

  • A <SignedInfo> element that MUST conform to section 2.2.1.7.1.

  • A <SignatureValue> element as specified in [XMLDSig/2008] section 4.2.

  • A <KeyInfo> element that MUST conform to section 2.2.1.7.2.

This document overrides the following specifications:

  • The "<element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>" element specified in [XMLDSig/2008] section 4.1 MUST NOT be used.

  • [WSS1] section 8.2, [WSS] section 8.2: "Producers SHOULD sign all important elements of the message."

The following elements are signed if the <Signature> element is a child element of the <Security> element specified in section 2.2.1:

  • The <To> element as specified in [WS-Addr-Core] section 3.2 MUST be present and signed if the signing key is asymmetric. If the signing key is symmetric, this element MUST NOT be signed.

  • The <Timestamp> element specified in section 2.2.1.2 MUST be signed. If a <Signature> element is present, the <Timestamp> element MUST be present as well.

If the <Signature> element is a child element of the <Assertion> element, as specified in section 2.2.1.6, then the <Assertion> element MUST be signed.

Other elements MUST NOT be signed.