Extensible Markup Language
XML, siglas en inglés de "eXtensible Markup Language", traducido como 'Lenguaje de Marcado Extensible' o 'Lenguaje de Marcas Extensible', es un metalenguaje que permite definir lenguajes de marcas desarrollado por el "World Wide Web Consortium" (W3C) utilizado para almacenar datos en forma legible. Proviene del lenguaje SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML) para estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte a bases de datos, siendo útil cuando varias aplicaciones deben comunicarse entre sí o integrar información.
Seguridad XML
Las firmas de XML se utilizan del siguiente modo: los objetos de la información firmados se elaboran (se calcula un valor hash para ellos); el valor resultante se coloca en un elemento de XML con información adicional, entonces se elabora el elemento a su vez y se firma codificado. La especificación define un conjunto de algoritmos, sus URI y los requisitos para su implementación. Estos algoritmos incluyen SHA1 para la generación de hash, Base64 para codificar datos binarios, DSA con SHA1 (DSS) para firmas y XML Canónico para la canonización. Hablaremos más sobre el XML Canónico en la siguiente sección Ampliación de las firmas digitales para SOAP, donde veremos un ejemplo de XML Signature.