> 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-lite-v7-open/windows/administradorff/aplicaciones-para-verificar-firmas/reglas-de-firmado.md).

# Reglas de firmado

Una regla de firmado es el conjunto de parámetros que permite definir el criterio o conjunto de condiciones con el que los ficheros a los que aplique deben haber sido firmados. Por ejemplo:

* Los ficheros de Transferencias con NIF de Ordenante 00000000T e importe de operación mayor hasta 10.000 requieren una firma y esta debe corresponder a uno de los certificados del grupo Tesoreros.
* Los ficheros de Transferencias con NIF de Ordenante 00000000T e importe de operación mayor hasta 100.000 requieren dos firmas y estas deben corresponder a uno de los certificados del grupo Tesoreros y a uno de los certificados del grupo Interventores.
* Los ficheros de Adeudos de importe total hasta 100.000 deben haber sido firmados por al menos dos grupos de los tres que se han definido: Apoderados\_Nivel\_uno, Apoderados\_Nivel\_dos y Apoderados\_Nivel\_Tres. Cada uno de esos grupos tiene definido un número mínimo de firmas y está compuesto por apoderados del nivel correspondiente.
* Los ficheros de/para Iberpay deben ser firmados con un único certificado, cualquiera de los dos que integren un grupo que se habrá definido con el valor 1 en el parámetro Nº de firmas obligatorias.

Cuando en una aplicación no se defina ninguna regla de firmado, las firmas recibidas serán validadas respecto a su estructura, coherencia de los datos firmados y caducidad de los certificados empleados, pero no se podrá hacer ninguna otra validación añadida tal y como verificar que se ha alcanzado el número de firmas necesarias, la idoneidad de las identidades concretas de los certificados con los que se ha firmado, que cada certificado solo ha firmado importes para los que está autorizado, etc.

Cuando se definan reglas de firmado de acuerdo al contenido del fichero (bastanteo), las firmas se validarán con aquella que sea la más restrictiva entre todas las que le apliquen, entendiendo por más restrictiva la que más parámetros de norma, NIF y sufijo tenga definidos. Por ejemplo, una aplicación tiene tres reglas de firmado: una para norma Transferencias (34) y NIF de ordenante 00000000T, otra para norma Transferencias (34) y otra Sin norma.

Caso 1) La aplicación recibe un fichero de norma Transferencias y NIF de ordenante 00000000T. Cualquiera de las tres reglas de firmado podrían aplicar al fichero, pero las firmas se validarán con la primera por ser la más restrictiva de las tres.

Caso 2) La aplicación recibe un fichero de norma Transferencias y NIF de ordenante diferente a 00000000T. Al fichero le podrían aplicar en este caso las reglas segunda y tercera, pero el fichero firmado se validará con la segunda por ser la más restrictiva de las dos.

Caso 3) La aplicación recibe un fichero de norma Adeudos (19). Al fichero le aplica en este caso solo la regla sin norma definida y con ella será con la que se valide.

Si una aplicación tiene reglas de firmado definidas y ninguna de ellas aplica a las firmas recibidas, el proceso de verificación finalizará con error.

Cuando se pulsa el botón *Ver reglas* en una aplicación, se muestra la vista de reglas de firmado asociadas a dicha aplicación. Al pulsar el botón ![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-109899a80a94441b99e709545f0976d59d232e88%2Fimage1.png?alt=media) se añade una nueva regla, en la que hay que se pueden configurar los siguientes parámetros:

![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-56802d2f03400f7cf945015a3f3c156ba6c90210%2Fimage2.png?alt=media)

* **Norma:** formato que deben tener los ficheros firmados a los que aplicará la regla que se está definiendo. Las opciones son 34 (Transferencias), 19 (Adeudos) o Sin norma. Cuando se especifica Transferencias o Adeudos, es posible realizar validaciones adicionales de acuerdo al contenido de dichos ficheros (NIF, Sufijo e Importe Total o Importe de operación mayor). La opción Sin norma es adecuada cuando no se quiere definir una regla de firmado de acuerdo a ese dato sino independientemente de él.
* **NIF (solo con norma 34 ó 19):** el correspondiente a la figura principal (ordenante o acreedor) de los ficheros para los que se está definiendo la regla. Es opcional.
* **Sufijo (solo con norma 34 ó 19 y si se ha indicado valor de NIF):** el correspondiente a la figura principal (ordenante o acreedor) de los ficheros para los que se está definiendo la regla. Es opcional.
* **Firmas obligatorias:** el número mínimo de firmas que debe incluir el fichero.
* **Grupos obligatorios:** el número mínimo de grupos cuyas condiciones deben de haberse cumplido.

Al pulsar sobre una regla, en la parte inferior se muestra la lista de usuarios y grupos asociados con dicha regla.

![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-045847a6a3ee2ebda33b9728e6399e380e81c3a2%2Fimage3.png?alt=media)

Al principio se muestra la lista de usuarios asociados a la regla y, pulsado sobre el botón ![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-d062b7db9896a8895de75abedc2e1b6fb36ccf66%2Fimage4.png?alt=media) , se muestra la lista de grupos o agrupaciones de firmantes. Pulsando sobre ![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-0f3af700eda04aaeec40b9827b4ee9517c559a0f%2Fimage5.png?alt=media) , se vuelve de nuevo a la lista de usuarios.

Al pulsar sobre ![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-042a9f8252cf4af4aa3d0d52e9c16817a69d412d%2Fimage6.png?alt=media) en la lista de usuarios, se añade una nueva fila en la lista, en la que hay que rellenar los campos siguientes:

* **Usuario:** combo con el que seleccionar el usuario remoto asociado a la aplicación.
* **Grupo (opcional):** combo con el que seleccionar el grupo al que asociar el usuario. Muestra los grupos que se hayan creado previamente pulsando ![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-be82033efef11e64d4c7cd04e7b215e6f45a700c%2Fimage7.png?alt=media) .
* **Firma obligatoria:** si se marca, indica que la firma del usuario siempre debe estar incluida. En caso de no estar presente o no ser válida, la regla contará como no cumplida si es un usuario que participa fuera de grupo y, en caso de ser usuario de grupo, el grupo contará como no cumplido.
* **Tipo importe (solo con norma 34 ó 19, opcional):** en caso de querer establecer un límite de importe que el usuario puede firmar, se debe seleccionar uno de los dos criterios: importe mayor o importe total.
* **Importe (solo con norma 34 ó 19, opcional):** en caso de querer establecer un límite de importe que el usuario puede firmar, se introducirá aquí el valor máximo. Si se recibiera un fichero de importe superior firmado con este usuario, la firma se considerará inválida.
* **Contrafirmante (opcional):** la contrafirma es la firma de otra firma y se produce siempre después de que uno o más firmantes hayan firmado el documento. En este parámetro se indicará, si procede, el usuario remoto que debe haber firmado la firma del usuario o usuarios que ha/han firmado el documento completo. Si se establece este parámetro y se recibe un fichero firmado en el que el contrafirmante no ha actuado, la firma se considerará inválida.

Un mismo usuario no puede ser firmante y contrafirmante al mismo tiempo en una misma regla. Sin embargo, sí está permitido que un usuario sea contrafirmante de varios usuarios.

![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-f85c4a4e2a3b77e40cbe1c5285ac00a079aac8f7%2Fimage8.png?alt=media)

Al pulsar sobre ![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-109899a80a94441b99e709545f0976d59d232e88%2Fimage9.png?alt=media) en la lista de grupos, se añade un grupo nuevo en el que definir los siguientes campos:

* **Nombre:** el nombre del grupo. Ha de ser único para una misma regla.
* **Número de firmas obligatorias:** el número mínimo de firmas de usuarios asociados al grupo que deben estar presentes o ser válidas.
* **Obligatorio:** si se marca este parámetro, el grupo debe alcanzar el número de firmas necesarias para considerar la regla cumplida.

![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-b4a383ff15ea6ca1823af28583f4715031240ff1%2Fimage10.png?alt=media)

En una regla, un firmante solo puede participar de manera individual o formando parte de grupos, pero no de ambas formas simultáneamente.

Para eliminar usuarios o grupos, seleccionar el usuario o grupo en cuestión y pulsar sobre el botón ![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-07a33e9177a628970cf28bfa79e4836937318b09%2Fimage11.png?alt=media) . **Para aplicaciones con Iberpay, se configurará un único grupo con una firma obligatoria, al cual deben de estar asociados dos usuarios o certificados.**

Por último, al pulsar el botón *Guardar todo* ![](https://3546063657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdjImUlwsQPeMtqTgvUAY%2Fuploads%2Fgit-blob-5e4cdd046d3623092502c72a6c48e94ad0da81a4%2Fimage12.png?alt=media) de la zona superior, la información quedará almacenada en el sistema. Si hubiera algún problema, aparecerá un mensaje informativo con la causa.


---

# 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-lite-v7-open/windows/administradorff/aplicaciones-para-verificar-firmas/reglas-de-firmado.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.
