Crear firmas XML

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Guía y referencia del usuario > XML > Firmas XML >

Crear firmas XML

Para crear una firma XML para un documento XML, abra el documento para el que desea crear la firma. Después haga clic en el comando de menú XML | Crear firma XML. A continuación se abre el cuadro de diálogo "Crear firma XML" (ver imagen siguiente), cuyas opciones se explican a continuación.

SigCreatSigDlg01

 

Método de autenticación: certificado o contraseña

La firma puede estar basada en un certificado o en una contraseña. Seleccione el botón de opción del método que desea usar.

 

Certificado: haga clic en el botón Seleccionar y busque el certificado que desea usar. El certificado debe tener una clave privada. La firma se genera usando la clave privada del certificado. Para verificar la firma, es necesario tener acceso al certificado (o a una versión del certificado de clave pública). La clave pública del certificado se usa para verificar la firma. Para más información sobre los certificados, consulte el apartado Trabajar con certificados.
Contraseña: introduzca una contraseña de como mínimo cinco caracteres (y 16 caracteres como máximo). Esta contraseña será necesaria para verificar la firma.

 

Nota:a partir de la versión 2018 de XMLSpy se pasó de firmar documentos basándose en contraseñas con el algoritmo HMAC-SHA1 a firmarlos usando el algoritmo HMAC-SHA256. Las versiones de XMLSpy anteriores a la versión 2018 no podrán verificar firmas que usen contraseñas generadas con XMLSpy 2018.

 

Transformaciones

Los datos XML se transforman y el resultado de la transformación se utiliza para crear la firma. Puede especificar el algoritmo de canonización que se debe aplicar a los datos XML del archivo (el contenido de SignedInfo) antes de realizar los cálculos de la firma. Tenga en cuenta que hay diferencias entre usar un tipo de transformación u otro:

 

Transformación canónica XML con o sin comentarios: si se incluyen comentarios para el cálculo de la firma, cualquier cambio en los comentarios de los datos XML darán lugar a un error de verificación. Aparte de esto, puede cambiar los comentarios o añadir comentarios nuevos en el documento XML después de firmarlo y la firma seguirá siendo auténtica.
Base64: se considera que el elemento raíz (o de documento) del documento XML tiene codificación Base64 y se lee en formato binario. Si el elemento raíz no tiene codificación Base64, se genera un error o se interpreta que el elemento está vacío.
Ninguna: no se realiza ninguna transformación y los datos XML del archivo binario guardado en el disco se pasan directamente para crear la firma. Si después se realizan cambios en los datos, se produce un error de verificación de la firma. No obstante, si marca la casilla Eliminar los espacios en blanco, se eliminan todos los espacios en blanco y los cambios en los espacios en blanco se omiten. La principal diferencia entre no usar ninguna transformación y usar una transformación canónica es que la canonización da lugar a una secuencia de datos XML, en la que algunas diferencias (como diferencias en el orden de los atributos) están normalizadas. Como consecuencia, una transformación canónica normalizará determinados cambios, como por ejemplo los cambios en el orden de los atributos (y la verificación se realizará correctamente). Por el contrario, si no se realiza ninguna transformación, ese tipo de cambios se tendrá en cuenta y se producirá un error de verificación. Recuerde que si la firma se incrusta en el documento (ya sea como firma envuelta o envolvente), entonces se realiza una canonización por defecto. De modo que los datos XML se usarán tal y como están (es decir, sin transformación) cuando la firma esté en un archivo separado, cuando se seleccione la opción Ninguna y cuando esté desactivada la casilla Eliminar los espacios en blanco.

 

Posición de la firma

Puede colocar la firma dentro del archivo XML o guardarla en un archivo separado. Hay varias opciones:

 

Firma envuelta: se crea el elemento Signature como último elemento secundario del elemento (de documento) raíz.
Firma envolvente: se crea el elemento Signature como elemento (de documento) raíz y el documento XML se inserta como elemento secundario de este.
Firma separada: la firma XML se crea en un archivo separado. En este caso puede indicar la extensión de archivo del archivo de firma y si el nombre del archivo se crea (i) uniendo la extensión de  archivo al nombre del archivo XML (p. ej. test.xml.xsig) o (ii) usando el nombre del archivo XML pero con la extensión del archivo de firma en lugar de la extensión XML (p. ej. test.xsig). También puede indicar si en el archivo de firma la referencia al archivo XML es una ruta de acceso relativa o absoluta.

 

Nota:las firmas XML para archivos de esquema XML (.xsd) se pueden crear en la vista Esquema como archivos de firma separados (no como firma incrustada). Las firmas XML para archivos XBRL se pueden crear en la vista XBRL como archivos de firma separados (no como firma incrustada). Las firmas XML para archivos WSDL se pueden crear en la vista WSDL como archivos de firma separados o como firmas envueltas en el archivo WSDL.

 

Nota:si la firma XML se crea como archivo separado, entonces se crea una referencia en el archivo de firma que asocia el archivo XML con el archivo de firma. Como consecuencia, cuando la firma se guarde en un archivo separado, debe asegurarse de que el archivo de firma sea el documento activo antes de iniciar la verificación de la firma.

 

Anexar información de clave

La opción Anexar información de clave está disponible si la firma está basada en un certificado. Si la firma está basada en una contraseña, esta opción se deshabilita.

 

Si selecciona esta opción, la información de clave pública se coloca dentro de la firma. De lo contrario, la información de clave no se incluye en la firma. El incluir la información de clave tiene la ventaja de que el certificado propiamente dicho (en concreto, su información de clave pública) no será necesario para el proceso de verificación (puesto que la información de clave está presente en la firma).

 


© 2019 Altova GmbH