署名には、SignedInfo(正規化方式、署名方式、および署名対象の項目ごとに 1 つずつあり、変換とダイジェストを持つ Reference)、SignatureValue、そして通常は X.509 証明書を含む KeyInfo が含まれます。エンベロープ署名(enveloped)は署名対象の要素の内部に置かれ(SAML アサーション)、分離署名(detached)は別の場所を指します。排他的 XML 正規化(http://www.w3.org/2001/10/xml-exc-c14n#)は名前空間と空白を統一し、意味的に等しい XML が同じハッシュ値になるようにします。
柔軟性こそが危険の源です。ID 属性による参照、XPath による変換、正規化の規則によって、何が署名されたかについて検証者とアプリケーションの解釈が食い違う可能性があります。署名ラッピング、コメントの処理に関するバグ、XML 外部エンティティ攻撃は、SAML や SOAP の実装を繰り返し破ってきました。XAdES(ETSI EN 319 132)は、XML-DSig の上に長期保存可能な電子署名を構築します。