> 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/open-v5.2.1/windows/aes_rsa.md).

# Configuración de claves AES-RSA

## Configuración local

### Copia de seguridad

Antes de realizar ningún paso, es aconsejable hacer una copia de seguridad del subdirectorio **cfg\\.rsa** (si existiera), ubicado en el directorio de instalación de EDITRAN.

### Configuración de Editran

Para poder iniciar el intercambio de claves con otra entidad EDITRAN, el único requisito es que debe existir una sesión-presentación configurada completamente para la conexión con ese remoto.

En esta guía usaremos los siguientes conceptos como ejemplo, donde en cada uno tendrá que sustituir el ejemplo por su caso real:

**Código local**: P00000020

**Código remoto**: 000080810

**Subsistema local**: N

**Subsistema remoto**: N

**Directorio de instalación de Editran**: C:\EDITRAN

### EDITRAN/GC

#### Generar clave propia

En este primer paso se genera una pareja de claves RSA (Privada + Pública), que se identifica como subsistema propio. Cada subsistema suele estar asociado a la seguridad que se aplica a un tipo de información intercambiada por EDITRAN.

En general, el nombre del subsistema se acuerda entre todas las entidades involucradas para que sea el mismo (por ejemplo, N), lo que hace más sencillo identificar el uso de esa clave RSA.

Entrar en menú EDITRAN/GC (Gestión de claves EDITRAN) y seleccionar la opción **Claves Propias RSA, Nueva clave propia**.

![assets/image3.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-27d232e89e7497d079a43229d9dc05ef43fe231f%2Fimage3.png?alt=media)

En la ventana que aparece, definir una **descripción**, el nombre del **subsistema** acordado (en el ejemplo, una N), su **código local de EDITRAN** y la longitud de la clave.

Como ejemplo en la siguiente captura, se muestran los valores que pondría la entidad P00000020 cuando recibe la notificación, normalmente de una entidad financiera, de que debe adaptar las transmisiones de EDITRAN a la normativa PSD2.

![assets/image4.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-158408d989436fd6689146ddd09860b058dc3e06%2Fimage4.png?alt=media)

Pulsar **OK** para realizar la operación. En la lista de subsistemas propios aparecerá como activa (A) la versión 1.

Una vez creada la clave propia, se repetirán los pasos siguientes para cada entidad Editran asociada a dicho subsistema.

#### Asignar clave propia a un remoto

En el menú Editran/GC, seleccionar la rama **Claves RSA/Propios**, y en la lista correspondiente, seleccionar el subsistema propio, hacer clic con el botón derecho del ratón y en el menú contextual pulsar **Asignar a un remoto**.

![assets/image5.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-260672233916094b2881c9b5041a3afe7d310c70%2Fimage5.png?alt=media)

En la ventana presentada, seleccionar el código remoto de la lista desplegable y salir con **OK**.

![assets/image6.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-5f633ad8da09fe76244aa3d330a583d3d18bb7e1%2Fimage6.png?alt=media)

Se pregunta si se quiere realizar el envío de la clave en este momento, pero debe pulsar **No** para aplazar el envío hasta haber decidido con la entidad remota qué extremo emite primero.

![assets/image7.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-0138f1f2d46b72d84f905ea65feb95bd7b11ccca%2Fimage7.png?alt=media)

### Intercambio de claves

Por lo general, el orden en que se realiza el intercambio es el explicado a continuación. Si la otra entidad es también Windows acordar cuál recibe primero.

La operativa puede cambiar dependiendo de si ambas entidades pueden iniciar la conexión TCP o hay alguna limitación.

A continuación, se explican los posibles escenarios.

#### Escenario 1: Intercambio de claves entre entidades que funcionan en modo cliente/servidor (ambas inician conexiones TCP)

**Recepción de la clave pública del Remoto**

Cuando el remoto nos indique que está preparado para transmitir su clave pública, iniciamos la recepción de su clave.

En menú EDITRAN/GC seleccionar la opción **Subsistemas > Recibir Fichero de Claves/Confirmación Remoto**:

![assets/image8.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-8f78025edf50b06578ce419c6e1f61886c538385%2Fimage8.png?alt=media)

En la siguiente ventana, pulsar el botón que aparece al lado del campo Presentación para seleccionar el código de la entidad remota a la que se pedirá la recepción. En caso de que su instalación le permita operar con varios códigos locales, se deberá elegir también el código local.

![assets/image9.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-fc8a0c591cc411b9bcad11b427be1c7860eafcb1%2Fimage9.png?alt=media)

Al confirmar con **OK**, en la ventana de transmisión aparecerá rellenado el campo "**Presentación**" que se creará en EDITRAN si no existe.

Pulsar el botón **Recibir** para pedir a EDITRAN/G la recepción. Se va mostrando la evolución de la transmisión y el resultado final.

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

Si, como en el ejemplo, la transmisión finaliza correctamente, al pulsar Salir se muestran los datos de la clave contenidos en el fichero de intercambio recibido. Si la transmisión no se completa y el campo Estado muestra INTERRUMPIDA, debe contactar con el grupo de Soporte del producto para que le ayude a resolver el caso.

![assets/image11.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-8bb6a2dfcb4ec191e2a3a677c1b8b1b47dce5955%2Fimage11.png?alt=media)

La transmisión de EDITRAN está configurada para enviar de forma automática la confirmación de la clave recibida. Por lo tanto, en la lista de "Subsistemas No Propios" aparecerá ya como activa (A). Si no es así, contacte con soporte del producto para analizar el problema.

![assets/image12.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-5baf0fc481dbf2b0fcbb5e5903f334fd6e38d6b8%2Fimage12.png?alt=media)

**Envío de la clave pública propia a un Remoto**

Situarse en la lista de subsistemas propios y seleccione el remoto al que se le quiere enviar la clave. Hacer clic con el botón derecho del ratón y en el menú contextual pulsar **Intercambio de la clave propia**.

![assets/image13.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-bf879767177316354e6157f7192b97e4dd5502f7%2Fimage13.png?alt=media)

Se muestra la información del fichero de exportación de la clave que se va a crear cuando se pulse **Generar**.

![assets/image14.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-40791f0e8368c0e81f03969a6c006e1fe61631f8%2Fimage14.png?alt=media)

Si no hay error en el paso anterior se muestra la ventana de envío. Pulsar **Emitir** para pedir a EDITRAN que inicie el envío.

![assets/image15.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-1ad42f46b7afde31a5aea47be430021d328d2af4%2Fimage15.png?alt=media)

![assets/image16.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-519401920c8133124335ecacfb55ec7bbcb37e4c%2Fimage16.png?alt=media)

Si la transmisión finaliza con éxito, como el remoto tiene automatizada la confirmación de la clave, la clave deberá aparecer como activa (A) en escasos minutos. En otro caso, contacte con la entidad para notificar que no ha recibido la confirmación.

![assets/image17.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-881e791b0ec49b1f9ea2c119f6387d3232f8dc02%2Fimage17.png?alt=media)

#### Escenario 2: Intercambio de claves desde entidad que solo funciona en modo cliente (no acepta conexiones TCP remotas)

**Recepción de la clave pública del Remoto**

El procedimiento es el mismo que el del Escenario 1.

**Envío de la clave pública propia a un Remoto**

Se siguen los mismos pasos que en Escenario 1, en este caso la entidad no ha podido conectarse para enviarle la confirmación de la clave por lo que al consultar la lista de subsistemas propios aparecerá en estado "Fichero de clave enviado (S)".

![assets/image18.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-200b500f7a765b2f88f18f65d0d39c62aaf25784%2Fimage18.png?alt=media)

Deberá conectarse con la entidad remota y pedir la recepción. Seleccionar en la lista el subsistema, y en el menú contextual la opción **Intercambio de la clave propia**.

![assets/image19.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-87afcfa64bcc331a646fd9b6ae14a2449d5ef16d%2Fimage19.png?alt=media)

En este caso, la clave está pendiente de confirmar y se le pregunta si quiere pedir su recepción

![assets/image20.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-87030d63420d9f53261753f08e4dda0bdcf63e3a%2Fimage20.png?alt=media)

En la ventana de transmisión, pulsar **Recibir** y esperar el resultado

![assets/image21.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-5c3f666c893e226b45da75aeee834e4a83cdd881%2Fimage21.png?alt=media)

Si finaliza con éxito, se le muestra la información del fichero recibido y se habrá actualizado el estado de la clave.

![assets/image22.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-b91849ad8b688422413fc860ecd8798ba45c687e%2Fimage22.png?alt=media)

![assets/image23.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-81e4768c9038eca77a60a42f0cbdae284da9f904%2Fimage23.png?alt=media)

## Modificación de sesiones

Una vez realizado el intercambio de claves, hay que realizar cambios en las sesiones con el remoto configurado para que se utilice el cifrado **Triple AES** y autenticación **RSA**. La configuración sería:

**EDITRAN/P:**

![assets/image24.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-2a50dc4337ab44558dff1ffe2f5a7b006696398e%2Fimage24.png?alt=media)

**EDITRAN/G:**

![assets/image25.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-4f4e3406d0cb4e3af1b1141300cf26697f45b077%2Fimage25.png?alt=media)

Para facilitar la tarea de cambiar la configuración, se pueden ejecutar los siguientes comandos ejecutados desde el directorio **bin**, teniendo que cambiar el código remoto de ejemplo 000080810 por el que desee modificar:

modiperfi -oP -r000080810 -m"-Eversrem=52 -Ecifrado=S -Everscifrado=40 -Econfidencial= -Eautentic=RSA -Ecclave=N -Egclaves=S -Elabelloc=N -Elabelrem=N"

modiperfi -oP -r000080810 -aTELEGC -m"-Eversrem=52 -Ecifrado=N"

modiperfi -oG -r000080810 -m"-Iversigarem=52 -Icifrado=S -Iverscifrado=40 -Iconfidenc=AE3 -Iautentica=RSA -Igclaves=S -Iclavelocal=N -Iclaveremota=N"

modiperfi -oG -r000080810 -aTELEGC -m"-Iversigarem=52 -Icifrado=N"

### Generar nueva versión de clave propia

Según la política que establezcan las entidades puede ser necesario renovar la clave de un subsistema propio generando una nueva versión. Este proceso se puede realizar desde el menú ***editrangc*** siguiendo estos pasos.

El primer paso es situarse en la lista de claves propias y seleccionar el subsistema a actualizar. En el menú contextual pulsar *"Generar Nueva Versión de la Clave"*

![assets/image26.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-4684f742189eeee1c106bf869eaa419c15112b8b%2Fimage26.png?alt=media)

Se le permite seleccionar el tamaño de la nueva versión. Es decir, que si tenía un subsistema con una clave de 1024 y quiere aumentar la seguridad puede generar una nueva versión con longitud de clave mayor sin necesidad de crear un nuevo subsistema.

Al finalizar la generación de la nueva versión se actualiza la lista indicando que la clave que se intercambiará a partir de ahora con las entidades será la 2.

![assets/image27.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-eb30495de58d63faf3d557a94e1b67d3d8278942%2Fimage27.png?alt=media)

Ahora puede ya realizar el intercambio con las entidades asociadas a ese subsistema. Si estuviera utilizando el mismo subsistema con varios remotos, lo recomendado es que se actualicen todas las entidades, aunque no es necesario que se haga en el mismo momento. Es decir, se puede enviar la nueva versión a la entidad *\<A>* y la entidad *\<B>* seguiría funcionado con la versión 1 sin problema. Lo único que hay que tener en cuenta es que solo se guarda histórico de las tres últimas versiones generadas.

Para iniciar el intercambio con una entidad remota, situarse en la lista de subsistemas locales, seleccionar el ítem deseado y en el menú contextual pulsar *"Actualizar la versión de la clave propia"*

![assets/image28.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-df173541c4a44f443517a9c2805555e78da220a2%2Fimage28.png?alt=media)

Se informa del cambio y se pide confirmación

![assets/image29.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-92c7fdfd6b5b2ae943334fc5d620f520cecdf91e%2Fimage29.png?alt=media)

Si se actualiza correctamente, se informa del siguiente paso y se pregunta si quiere continuar con el envío en ese momento.

![assets/image30.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-6408d456f8fc033f187a16145ac4e505c6f298c9%2Fimage30.png?alt=media)

En nuestro ejemplo, elegimos *"No"* y en la lista vemos cómo queda el estado de las claves en ese caso:

![assets/image31.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-805be648403b00cd987970d40b54bc9cfe1926ad%2Fimage31.png?alt=media)

La clave activa sigue siendo la versión *'1'* ya que el intercambio de la versión *'2'* no ha terminado. Para continuar con el envío se seguirán los pasos explicados en el [escenario 1](#escenario-1-intercambio-de-claves-entre-entidades-que-funcionan-en-modo-clienteservidor-ambas-inician-conexiones-tcp) o [escenario 2](#escenario-2-intercambio-de-claves-desde-entidad-que-solo-funciona-en-modo-cliente-no-acepta-conexiones-tcp-remotas) según sea su escenario.

Una vez enviada, la versión *'1'* queda en estado *"Operativa (O)"* y la versión *'2'* como la nueva clave *"Activa (A)"*.

![assets/image32.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-f8e94b33dcab5cbe114bc6d413b4a66bc2c834f6%2Fimage32.png?alt=media)

#### Comando gc\_config

El producto entrega una utilidad que permite también realizar acciones relacionadas con la gestión de claves en modo comando. En este apartado se explica como generar una nueva versión de un subsistema propio con el programa ***gc\_config***. En la imagen se muestra su sintaxis:

![assets/image33.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-bd56b5f186586e18d898246775db740de97bd7f0%2Fimage33.png?alt=media)

Siguiendo con el ejemplo del documento, se va a generar una nueva versión del subsistema local *'N'*. Para ello basta con añadir al comando la opción ***-v.*** Situado en la carpeta ***bin*** de Editran ejecutar:

`gc_config -v -lP00000020 -r000080810 -sN`

Si no se especifica la longitud de clave a generar con la opción ***-k***, la clave se genera de 4096. Si se quiere crear de otra longitud (1024 o 2048) es necesario usar el comando de esta forma:

`gc_config -v -k2048 -lP00000020 -r000080810 -sN`

Si se ha generado correctamente, la salida del comando sería así:

![assets/image34.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-1ed88a89aefd14ba12f8c9131e4aeebb47491598%2Fimage34.png?alt=media)

La información mostrada es la lista actual de versiones del subsistema:

> \[L] tipo de clave propia
>
> \[Clave i] posición de la versión de clave
>
> \[Version n] número que identifica la versión de clave
>
> \[Estado ...] estado de la versión de clave

Si se consulta en ***editrangc***

![assets/image35.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-2b8892cd1dd4d596de20e0272ab5c68a0f02943e%2Fimage35.png?alt=media)

Una vez generada la nueva versión los pasos a seguir para su envío son los mismos que se explican en el intercambio de clave pública propia. Otra opción es encadenar el envío con el comando ***igacmd***

![assets/image36.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-73bee83a4eecc7b2858ae66776f61db052bc213d%2Fimage36.png?alt=media)


---

# 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/open-v5.2.1/windows/aes_rsa.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.
