Uma assinatura contém SignedInfo (método de canonicalização, método de assinatura e uma Reference por item assinado, cada uma com transformações e um digest), SignatureValue e, em geral, KeyInfo com um certificado X.509. As assinaturas envelopadas (enveloped) ficam dentro do elemento que assinam (asserções SAML); as desanexadas apontam para outro lugar. A canonicalização XML exclusiva (Exclusive XML Canonicalization, http://www.w3.org/2001/10/xml-exc-c14n#) normaliza namespaces e espaços em branco para que XML semanticamente igual produza o mesmo hash.
O perigo está na flexibilidade: referências por atributos ID, transformações XPath e regras de canonicalização permitem que verificadores e aplicações discordem sobre o que foi assinado. O encapsulamento de assinatura (signature wrapping), bugs no tratamento de comentários e ataques de entidade externa XML quebraram repetidamente implementações de SAML e SOAP. O XAdES (ETSI EN 319 132) constrói assinaturas eletrônicas de longo prazo sobre o XML-DSig.