A continuación, describiremos el formato XML Signature y sus características.
¿Qué es el formato XML Signature?
Es una especificación desarrollada bajo el amparo del W3C que permite la firma (completa o parcial) de documentos utilizando una notación XML estándar. XML Signatures ofrece algunas ventajas frente a la firma tradicional, ya que, al estar basada en texto plano su estructura es legible por humanos.
Funcionalmente, tiene mucho en común con PKCS#7, pero es más extensible y está orientada hacia la firma de documentos XML.
¿Qué documentos puedo firmar?
Las firmas XML se pueden utilizar para firmar datos o recursos de cualquier tipo, normalmente documentos XML, pero cualquier cosa que sea accesible a través de una URL puede firmarse.
El documento original puede estar dentro o fuera del fichero de firma, dependiendo donde se encuentre, se distinguen 3 tipos de firma:
- Firma separada (detached). En este caso el fichero de firma se encuentra fuera del documento XML.
- Firma envuelta (enveloped). Usada para firmar una parte del documento que contiene el fichero de firma.
- Firma envolvente (enveloping). Para los casos en los que los datos firmados están dentro del propio documento XML.