签名包含 SignedInfo(规范化方法、签名方法,以及每个被签名项对应的一个 Reference,其中各含变换和摘要)、SignatureValue,通常还有带 X.509 证书的 KeyInfo。封内签名(enveloped)位于它所签名的元素内部(如 SAML 断言),分离签名则指向别处。排他 XML 规范化(http://www.w3.org/2001/10/xml-exc-c14n#)会对命名空间和空白字符做规范化处理,使语义相同的 XML 得到相同的哈希。
危险正来自这种灵活性:基于 ID 属性的引用、XPath 变换和规范化规则,都可能让验证者和应用对“签了什么”产生分歧。签名包装、注释处理缺陷和 XML 外部实体攻击曾多次攻破 SAML 和 SOAP 的实现。XAdES(ETSI EN 319 132)在 XML-DSig 之上构建长期电子签名。