> For the complete documentation index, see [llms.txt](https://docs.editran.onesait.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.editran.onesait.com/documentacion-editran/editranff-6-windows/comandos/xades.md).

# XAdES

Comando para la realización y verificación de firmas tipo XAdES de manera automática. Forma de uso:

![](https://1175462395-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fs4uOQXH4gXp9MdTLmUaj%2Fuploads%2Fgit-blob-57e224c3de20fd0d28d5fccf0c14f7423554cf0a%2Fimage1.png?alt=media)

Para su uso es imprescindible que el proceso Java Editran Signature Services para firmas XAdES se encuentre en la instalación correctamente configurado y arrancado, véase **7.12.**

A tener en cuenta:

* En el modo de uso 1), para evitar que el proceso de firma automática quede retenido a la espera de la introducción de la contraseña del certificado, este deberá tener deshabilitada la protección segura de clave privada (este parámetro se configura durante la instalación del certificado).
* En el modo de uso 1), si el fichero indicado tiene extensión propia de firma (.*p7b* o .*xsig*), el fichero se buscará en el directorio de firmas de la aplicación y se añadirá en él la nueva firma. En caso contario el fichero se buscará en el directorio de datos de la aplicación y se creará un nuevo fichero de firma en el directorio de firmas.
* El modo de uso 2) es válido únicamente para aplicaciones cuyo propósito sea verificar firmas.
* El fichero de entrada para el modo de uso 3) debe ser un fichero de firma que se encuentre en el directorio de firmas de la aplicación.

El código de resultado devuelto por el comando XAdES.exe (accesible mediante echo %ERRORLEVEL% tras la ejecución) puede ser uno de:

| **Resultado** | **Descripción**                                                                                                                                                                                                                                                                                                                                                                                                 |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **0**         | **OK**: firma o verificación correcta.                                                                                                                                                                                                                                                                                                                                                                          |
| **1**         | **ERROR\_SINTAXIS**: parámetros incorrectos, se debe consultar el modo de uso de la aplicación.                                                                                                                                                                                                                                                                                                                 |
| **2**         | **ERROR\_PERFIL\_FF**: aplicaciones o usuarios indicados en los parámetros no se encuentran en los perfiles de Editran/FF.                                                                                                                                                                                                                                                                                      |
| **3**         | **ERROR\_LICENCIA**: falta licencia para el producto.                                                                                                                                                                                                                                                                                                                                                           |
| **4**         | **ERROR\_NO\_FIRMAS**: no hay comunicación con el servidor (no se ha levantado el servicio Java, etc.), no se ha podido llevar a cabo la petición de firma o verificación.                                                                                                                                                                                                                                      |
| **5**         | **ERROR\_FIRMA\_INCORRECTA**: el servidor devuelve error porque el fichero que se va a firmar o verificar tiene firmas inválidas, mal construidas, o se ha realizado con certificado caducado, ha sido manipulada, etc. Para más detalle consultar \[Ruta instalación Editran/FF]\XAdES\logs\out.log y fichero \[nombre fichero a firmar o verificar].ctrl en \[Directorio datos Aplicación Editran/FF]\TMP.XD. |
| **6**         | **ERROR\_FIRMA\_INCORRECTA\_PERFILES**: la firma que se va a realizar o validar no es correcta de acuerdo a los perfiles (firmas necesarias, límite de importe, etc.).                                                                                                                                                                                                                                          |
| **7**         | **ERROR\_OPERACION\_CANCELADA**: solo en el modo de uso 1), el certificado con el que se va a firmar tiene habilitado el modo de protección segura y se ha pulsado cancelar en la ventana que solicita la contraseña del certificado.                                                                                                                                                                           |
| **8**         | **ERROR\_NORMA\_FICHERO**: verificando la firma respecto a perfiles, se debe tener en cuenta el importe del fichero pero no es posible obtenerlo porque el fichero no corresponde a la norma asociada a la aplicación.                                                                                                                                                                                          |

En los modos de uso 2) y 3) se crea un fichero \[Directorio datos Aplicación Editran/FF]\TMP.XD\\\[Nombre fichero verificado].ctrl. El contenido de dicho fichero consta de una primera línea con el código devuelto por el servicio *Editran* *Signature Services* seguido de su descripción. A continuación, tantas líneas como certificados con los que se ha firmado el fichero. Estas líneas empiezan por S, si el certificado está en perfiles, o por N en caso contrario. A continuación de S o N estará el DN del certificado.

Por ejemplo:

00

S CN=NOMBRE 1…

N CN=NOMBRE 2…

El código de resultado del servicio *Editran Signature Services* puede ser uno de:

| **Resultado**                                                             | **Descripción**                                                                       |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| **00**                                                                    | Resultado correcto                                                                    |
| **01**                                                                    | Warning: se ha realizado la firma con Warnings. No se ha firmado de forma implícita   |
| **Lectura de los datos necesarios para la firma y verificación de firma** |                                                                                       |
| **17**                                                                    | Petición no construida correctamente                                                  |
| **18**                                                                    | Error al leer del buffer de lectura la longitud de la trama                           |
| **19**                                                                    | Función peticionaria no reconocida                                                    |
| **20**                                                                    | Tipo de firma no reconocido                                                           |
| **21**                                                                    | Lenguaje maquina origen no reconocido                                                 |
| **22**                                                                    | Valor de validación OCSP o CRL no reconocido                                          |
| **23**                                                                    | Valor de compresión no reconocido                                                     |
| **24**                                                                    | Valor de cifrado no reconocido                                                        |
| **25**                                                                    | Valor de conversión a base 64 no reconocido                                           |
| **26**                                                                    | Identificador fichero de entrada no reconocido                                        |
| **29**                                                                    | No se ha indicado fichero de entrada                                                  |
| **30**                                                                    | No se ha indicado fichero auxiliar                                                    |
| **31**                                                                    | No se ha indicado fichero de salida                                                   |
| **32**                                                                    | No se ha indicado fichero de salida de DN                                             |
| **33**                                                                    | No se ha indicado keyStore                                                            |
| **34**                                                                    | No se ha indicado el alias o DN del certificado                                       |
| **35**                                                                    | No se ha informado ningún certificado firmante                                        |
| **36**                                                                    | Identificador de la plantilla no reconocido                                           |
| **37**                                                                    | No se ha indicado plantilla                                                           |
| **38**                                                                    | No se ha indicado lugar geográfico                                                    |
| **39**                                                                    | No se ha indicado rol del firmante                                                    |
| **40**                                                                    | No se ha indicado la acción del firmante                                              |
| **41**                                                                    | Fallo al leer el fichero de configuración xades.properties                            |
| **Lectura de ficheros**                                                   |                                                                                       |
| **48**                                                                    | Error en la lectura del fichero origen                                                |
| **55**                                                                    | Error leyendo el almacén de certificados de las CAs (truststore)                      |
| **56**                                                                    | Error en la lectura del fichero auxiliar                                              |
| **57**                                                                    | No se ha encontrado el fichero con los datos que han sido firmados en firma explicita |
| **Escritura de ficheros**                                                 |                                                                                       |
| **64**                                                                    | Error en la escritura del fichero destino                                             |
| **65**                                                                    | Error en la escritura del fichero DN’s                                                |
| **66**                                                                    | Error al escribir la respuesta a la petición                                          |
| **67**                                                                    | Error creando fichero temporal                                                        |
| **Validación OCSP y CRL**                                                 |                                                                                       |
| **80**                                                                    | Error al codificar el certificado                                                     |
| **81**                                                                    | Error en la conexión con Editran/OCSP                                                 |
| **82**                                                                    | Error leer Mensaje de Conexión en EditranOCSP                                         |
| **83**                                                                    | Las versiones no corresponden entre sí                                                |
| **84**                                                                    | Error escribiendo la respuesta Conexión en Editran/OCSP                               |
| **85**                                                                    | Error leyendo respuesta de conexión en Editran/XAdES                                  |
| **86**                                                                    | Error leyendo el mensaje de petición en Editran/OCSP                                  |
| **87**                                                                    | Editran/OCSP no puede conectar con el Servidor OCSP                                   |
| **88**                                                                    | Error obteniendo la Lista de Revocación de Certificados (CRL)                         |
| **89**                                                                    | No se ha encontrado o no se ha podido conectar con la Url del OCSP/CRL                |
| **Firma de ficheros**                                                     |                                                                                       |
| **96**                                                                    | Error leyendo el almacén de certificados keystore                                     |
| **97**                                                                    | No se ha podido extraer la clave del keystore                                         |
| **98**                                                                    | La plantilla es incorrecta                                                            |
| **Error de memoria**                                                      |                                                                                       |
| **112**                                                                   | OutOfMemoryError                                                                      |
| **Error inesperado**                                                      |                                                                                       |
| **113**                                                                   | Error inesperado                                                                      |
| **114**                                                                   | Valor sin definir (no debería ser alcanzable)                                         |
| **Errores de firma y verificación**                                       |                                                                                       |
| **10**                                                                    | Política de firma incumplida                                                          |
| **11**                                                                    | No se confía en uno de los certificados firmantes, CA no válida                       |
| **12**                                                                    | Servidor OCSP devuelve certificado desconocido                                        |
| **13**                                                                    | Servidor OCSP o lista CRL devuelve certificado revocado                               |
| **14**                                                                    | Certificado caducado                                                                  |
| **15**                                                                    | Documento modificado                                                                  |
| **49**                                                                    | Error al parsear el xml del fichero origen                                            |
| **50**                                                                    | No se encuentra el elemento *Signature* en el documento                               |
| **51**                                                                    | Error parseando el elemento *Signature*                                               |
| **52**                                                                    | Error en el proceso de validación de la firma                                         |
| **53**                                                                    | Error en la obtención de la información de firma                                      |
| **54**                                                                    | No se ha encontrado el certificado con el que se firmó dentro del documento           |
| **99**                                                                    | No se ha podido crear el elemento *SignedInfo*                                        |
| **100**                                                                   | No se ha podido crear el elemento *KeyInfo*                                           |
| **101**                                                                   | No se ha podido crear el elemento *QualifyingProperties*                              |
| **102**                                                                   | URL incorrecta para el TimeStamp de la firma                                          |
| **103**                                                                   | No se ha encontrado el firmante al que se contrafirma                                 |
| **104**                                                                   | Error al firmar                                                                       |

| **Error de validación de la firma contra el perfil configurado en la aplicación (firmantes y número de firmas necesarias)** |                                                                                                                                                                |
| --------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **16**                                                                                                                      | No se cumple el número de firmas necesarias: hay usuarios que no han firmado, no se cumplen ninguna condición mancomunada, algún firmante no está en perfiles. |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.editran.onesait.com/documentacion-editran/editranff-6-windows/comandos/xades.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
