Next, we will describe the XML Signature format and its features.
What is XML Signature format?
It is a specification developed under the umbrella of w3c that allows the signature (complete or partial) of documents using a standard XML notation. XML Signatures offers some advantages over traditional signatures since its structure is human-readable because it is based on plain text.
Functionally, it has much in common with PKCS#7, but is more extensible and oriented towards signing XML documents.
What documents can I sign?
XML signatures can be used to sign data or resources of any type, typically XML documents, but anything that is accessible via a URL can be signed.
The original document can be inside or outside the signature file, depending on where it is located, there are 3 types of signature:
- Detached signature. In this case the signature file is outside the XML document.
- Enveloped signature. Used to sign a part of the document containing the signature file.
- Enveloping signature. For cases where the signed data is inside the XML document itself.