> 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/linux/gestor_claves.md).

# Gestión de claves

## Introducción

Editran facilita al usuario la posibilidad de utilizar varias formas de intercambiar datos protegidos mediante las siguientes modalidades de criptografía:

Modalidad 2.2. Criptografía con autenticación y confidencialidad con algoritmo DES de claves simples de 8 bytes. El intercambio de claves se realiza de manera automática.

Modalidad 3.0. Criptografía de autenticación con algoritmo DES o RSA (1024 bits) y con confidencialidad DES y TDES (con claves dobles o triples).

En la modalidad 3.0 las claves para la autenticación han de intercambiarse entre los extremos antes de poder utilizarlas.

Modalidad 4.0 Criptografía con claves de autentificación RSA de 1024, 2048 o 4096 bits.

Los algoritmos para el cifrado de datos son: DES, TDES (con claves dobles y triples) y AES con claves de 128, 192 y 256 bits.

Salvo en la modalidad 2.2, las entidades requieren intercambiar sus respectivas claves RSA, es decir el intercambio es externo al protocolo Editran. Este intercambio se ha venido realizando de diversas formas; aplicaciones externas a Editran, correo electrónico, teléfono, etc., con lo que se observa en muchos casos la "debilidad del intercambio".

A partir de la versión 4.1 Editran ha incorporado una gestión fiable y segura para automatizar el proceso de intercambio, evitando la debilidad comentada, evitando la visualización de claves en claro y facilitando una incorporación e intercambio fiable en ambas entidades.

Cuando se intercambien nuevas claves públicas RSA, todos los envíos (salvo el inicial) pueden ir firmados con alguna privada de la que tengamos constancia que se ha enviado al remoto la pública asociada correspondiente. Es decir, en el segundo intercambio, al menos se podrá firmar con la inicial, en el tercero con la inicial o con la segunda y así sucesivamente.

Además, se ha estructurado toda la gestión en "subsistemas". Un subsistema es un grupo de claves intercambiadas para un determinado remoto, grupo de remotos o aplicaciones.

Cada subsistema admite varias claves con versión 01 a 99 (cuando llegan a esa posición dan la vuelta) conservando las 3 últimas. El intercambio con las entidades se realizará a partir de una sesión Editran adaptada al efecto.

## Definiciones y pantallas

Al ejecutar **editrangc** en el directorio de Editran se activará el menú principal del gestor de Editran/GC que se muestra a continuación:

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

* **Gestión de claves propias RSA**. Las claves RSA pueden ser intercambiadas con diferentes remotos sin peligro, ya que lo que se intercambia es la clave pública. La clave privada permanece únicamente en el sistema donde se ha creado y así no hay posibilidad de que los datos puedan ser descifrados por un tercero.

> Por este motivo existen las ***Claves Propias RSA*** de Editran/GC. Mediante las Claves Propias RSA se administran una serie de funcionalidades comunes a todos los remotos que utilicen esa clave como son:

* Generación de nuevas versiones de la clave (nuevos pares de claves pública-privada)
* Activación de una u otra versión.
* **Asociación de claves propias RSA**. Una Clave propia RSA no puede utilizarse si no se ha intercambiado con un remoto. Para eso existe la posibilidad de asociar una Clave Propia a un Remoto, creando un ***Subsistema Local RSA***. Una vez asociado se podrá generar el fichero de intercambio y enviarlo al remoto para que éste incorpore nuestra clave pública. Además, desde esta opción se realizarán otras tareas comunes de administración: modificación, consulta y eliminación del subsistema.
* **Asociación de claves remotas RSA**. Como receptores de claves públicas remotas definimos ***Subsistemas Remotos RSA***. La creación de un subsistema implica conocer el identificador que le dio el remoto al definirlo puesto que debe coincidir en ambas entidades. Una vez creado, las nuevas claves se incorporan procesando los ficheros de intercambio recibidos.

### Gestión de claves propias RSA (administración y generación)

Se accede al mismo con la opción 1 y presenta el siguiente menú:

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

* **Opción**. Campo obligatorio.

> **Subsistema**. Admite valores A-Z y 0-9. Es el nombre del subsistema RSA que vamos a dar de alta. Por ejemplo, podemos tener subsistemas de pruebas o producción, subsistemas de intercambio mensual o anual, subsistemas para un grupo de entidades o para otro, etc. Este campo es opcional salvo en la opción de alta.
>
> **Entorno local**. Código Editran del entorno local principal. Puede no especificarse cuando no se trate de un alta.

En caso de haber seleccionado algún campo de forma genérica aparece una pantalla en el que se listan los subsistemas que cumplen el criterio de selección planteado y donde el usuario podrá elegir el registro que busca:

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

Aparecen para cada código local seleccionado, los subsistemas seleccionados. En caso de que se haya generado claves RSA (privada -- pública), se muestra la versión activa, y fechas de generación y última modificación.

En caso de seleccionar algún registro o si la selección era específica desde el menú anterior, se muestra la siguiente pantalla (algunos campos pueden aparecer de forma distinta en función de la opción de acceso, alta-baja-generación, modificación o consulta):

En caso de consulta:

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

En el caso de modificación:

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

* **Descripción subsistema.** Es un campo meramente informativo
* **Aplicación Editran/G de servicio**. Nombre de la aplicación Editran/G que servirá para el intercambio de claves. Valor por defecto: TELEGC. Aunque se permite modificarlo, se recomienda utilizar este nombre dado que afecta también a la configuración de Editran.
* **Label.** Etiqueta con la que se identifica la clave pública. Se recomienda no Modificar este valor si no se conoce en profundidad los problemas que pueden aparecer. Al dar de alta el subsistema, se muestra el valor por defecto que el sistema establece para estos campos. El administrador podrá modificar en este momento su valor, asegurándose siempre de que no coincidan con los de otro subsistema
* **Relación de claves**. A continuación, se muestra información sobre las últimas tres versiones generadas. Para cada versión se detalla su número de orden, la fecha de creación y de última modificación y el estado en que está (seleccionada o no seleccionada). La versión que está seleccionada es la que actualmente está siendo enviada a los remotos. Cuando se genera una nueva versión, esta pasa a ser la clave seleccionada.

Desde la opción de modificación, el usuario además de poder cambiar otros campos, puede establecer cuál de las versiones mostradas es la que desea intercambiar. Para ello, deberá poner una **A (activar)** en la línea de la versión elegida.

En el caso de consulta, si se ha seleccionado una versión (S), se muestra la clave pública en hexadecimal (en el *label* se incluye la versión seleccionada). Esta información permite al usuario comprobar de forma manual si una clave está bien intercambiada con un remoto. Para ello habrá que comprobar que el valor es idéntico al que le aparecerá al remoto al consultar la clave remota RSA tras incorporar el correspondiente fichero de intercambio.

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

En la opción de generación, se muestra una pantalla intermedia de confirmación. Añadiéndose la opción longitud del tamaño 1024, 2048, 4096 bits de la clave, vista en la ayuda.

Al confirmar, el menú se quedará bloqueado mientras se realiza la operación. En el caso de que pueda tardar se le advertirá al usuario con un mensaje informativo al respecto:

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

En caso de baja, se muestra una pantalla de confirmación de la misma. No se pueden dar de baja registros RSA PROPIOS si existe algún remoto asociado a los mismos.

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

### Asociación de claves propias RSA (administración, exportación y envío).

Para acceder a esta opción, es necesario que exista un registro RSA (opción 1) de claves propias adecuado. Es decir, con el mismo código local y subsistema.

Se accede al mismo con la opción 2 y se presenta la siguiente pantalla:

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

* **Opción**. Campo obligatorio.
* **Subsistema**. Admite valores A-Z y 0-9. Es el subsistema RSA de claves propias que vamos a asociar a una determinada entidad remota. Este identificador es el que notificaremos al remoto para que lo dé de alta como "subsistema remoto" y con ese nombre incorpore la clave que le enviaremos.
* **Entorno local**. Código Editran del entorno local principal. Si no se rellena se mostrará la lista de los posibles códigos locales (licencias multientorno).
* **Entorno remoto**. Código Editran de la entidad remota. Si no se rellena se mostrará la lista de los códigos remotos existentes.

En la opción ***ALTA*** es obligatorio rellenar todos los campos. En el resto de opciones, si no se rellenan aparecerá una pantalla que muestra la lista de los subsistemas encontrados que se ajustan al criterio de búsqueda dado. El usuario podrá seleccionar uno tecleando **S** en la columna **SEL**:

En la pantalla de selección se muestra, solo en el caso de que el subsistema tenga una clave activa con el remoto, el número de versión y fechas de generación y última modificación.

Al seleccionar algún registro o si la selección era específica desde el menú anterior, se muestra la siguiente pantalla (algunos campos pueden aparecer de forma distinta en función de la opción de acceso, alta-baja-exportación, modificación o consulta):

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

En el caso de modificación:

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

* **Descripción Subsistema.** Es un campo meramente informativo
* **Aplicación Editran/G**, por la que vamos a enviar al remoto nuestra clave pública.
* **Label**. Está protegido. Es la etiqueta de la correspondiente clave propia RSA.
* **Subsistema RSA para firma**. Puede ser el mismo (si se han intercambiado claves por él) o distinto (si se han intercambiado claves por otro). Si no se han intercambiado claves con la entidad remota, no se tiene que rellenar dicho campo.
* **Relación de claves**. A continuación, vienen las versiones que se han intercambiado con ese remoto y el estado en que están (activa, cancelada, operativa, etc.).

Sólo puede existir una clave "activa". Una clave enviada a un remoto, pasa a estado activo cuando se recibe del remoto la confirmación de su correcta incorporación; Si existía alguna activa, ésta pasa a estado operativa. De forma excepcional, las claves pueden ser activadas y canceladas manualmente por el usuario desde el menú de modificación.

El funcionamiento de las opciones de consulta y baja es el mismo que el comentado en el apartado anterior. Un subsistema local RSA solo podrá eliminarse cuando no esté siendo usado para firmar los intercambios de clave de otros subsistemas.

La opción ***EXPORTAR NUEVA CLAVE***, "asocia" la clave actualmente *seleccionada* del registro de claves propias RSA del subsistema a la entidad remota y crea un fichero con la clave pública local correspondiente (podrá ir firmada si ha habido algún intercambio satisfactorio de claves RSA con ese remoto). Este fichero será enviado por Editran de forma automática si así se indica. Al seleccionar esta opción se muestra la siguiente pantalla intermedia de confirmación.

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

En el campo *Archivo Exportación* el sistema muestra el nombre del fichero que se creará para enviar la nueva clave al remoto. El nombre del fichero que aparece por defecto sigue un estándar que permite identificar el contenido de la información a enviar. Puede modificarse si el usuario quiere usar otra nomenclatura.

La clave exportada al fichero de intercambio será la que esté en estado "*seleccionada"* de las tres claves RSA propias. No se permitirá generar un nuevo fichero de intercambio si hay otro intercambio de clave en proceso de finalización. Una vez generado el fichero de intercambio y si el usuario así lo pide con el campo *Desea enviar ahora*, se intentará enviar el fichero por Editran.

Para poder encadenar el envío es necesario que previamente se haya configurado en Editran una sesión de control con los mismos códigos local y remoto, y con el nombre de la Aplicación de Servicio o TELEGC.

Dependiendo de si en la ventana de exportación se pide o no el envío por Editran, se pueden dar varias situaciones:

* Si todo va bien, y si el usuario no encadenó el envío por Editran, el estado de la clave quedará:

  ![assets/image15.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-be5993521f06ac95952b55e3d99b5341e427c4bb%2Fimage15.png?alt=media)
* Si se pide el envío, y no tuviese configurado Editran correctamente saldrá un mensaje de error y el estado de la clave no cambiará. Una vez solucionado el problema puede volver a intentar la exportación.

  ![assets/image16.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-138473e8bfa83543f3780b7fcca4c8b1d2730335%2Fimage16.png?alt=media)
* Si se pide el envío y se produce algún error en la transmisión, el mensaje que se muestra indicará el motivo. En este caso el estado de la clave será *"Error al Enviar el Fichero de Clave"*

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

En este momento, si intentamos volver a exportar una nueva clave, el sistema dará un mensaje de error (*"No hay clave preparada para exportar"*) por haber una clave pendiente de ser enviada. Cuando resuelva el problema de la transmisión, puede intentar de nuevo el envío desde el menú de Editran. Otra opción es anular la clave pendiente cancelándola manualmente desde la opción de **Modificación** y repetir el intercambio desde el principio.

### Asociación de claves remotas RSA (administración).

Se puede generar un subsistema remoto de dos formas:

**√** Automáticamente utilizando el programa de usuario de Editran/G posterior a recepción. No es necesario realizar ninguna acción antes de recibir la clave de la entidad remota.

**√** Manualmente a través de la interfaz gráfica como se muestra a continuación. En este caso es necesario conocer de antemano el nombre que la entidad remota ha dado al subsistema.

Seleccionar la opción **4** del menú principal y en el menú de asociación de claves remotas RSA seleccionar la opción **ALTA**. En esta opción es obligatorio especificar código local, código remoto y subsistema.

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

Una vez seleccionado el subsistema que se quiere crear y siempre que no exista ya otro con los mismos datos, se muestra la siguiente pantalla:

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

En esta el usuario rellenará opcionalmente la descripción y podrá modificar las etiquetas que por defecto el sistema asigna, aunque se aconseja no modificarlas ya que trabajar con los valores por defecto asegura que no haya "label" repetidas.

La aplicación de servicio de Editran/G se utiliza si se quiere enviar las confirmaciones por Editran. Se recomienda utilizar la Aplicación de Editran/G TELEGC.

En el campo *Subsistema Remoto RSA firmante* se muestra al usuario el subsistema con que el remoto firmó el último fichero de intercambio incorporado. Es meramente informativo y no puede modificarse.

Pulsando F3, se generará el nuevo subsistema remoto RSA. Sin embargo, aún no se tiene la clave pública necesaria. Está se tendrá que añadir automáticamente mediante los automatismos de Editran/G o manualmente desde la opción **IMPORTAR NUEVA CLAVE**.

Como se ha visto en los apartados anteriores, para el resto de opciones de administración (baja, consulta, modificación) aparece una misma pantalla en la que además de la información relativa al subsistema se muestran los datos de las tres últimas claves recibidas (versión, estado y fechas de creación y modificación).

En **BAJA**, tras pedir la confirmación del usuario, al pulsar INTRO se borrará el subsistema mostrado. No se permite eliminar los subsistemas remotos RSA que se estén utilizando para autenticar el envío de algún otro subsistema.

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

En **CONSULTA**, con las teclas de cursor el usuario puede seleccionar la versión para la que desea ver la clave pública.

En **MODIFICACION**, con la tecla tabulador el usuario va recorriendo los campos del subsistema que son modificables. Además, en la lista de versiones puede modificar el estado de la clave, poniendo **A** (activar) o **C** (cancelar) en la línea correspondiente.

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

En **IMPORTAR NUEVA CLAVE**, se debe seleccionar el fichero de intercambio recibido del remoto y confirmar la operación.

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

Editran/GC primero comprueba la firma del fichero de intercambio, luego, se comprueba que el subsistema que viene en el fichero coincide con el subsistema que aparece en la pantalla. Si coincide se incorpora la clave pública, sino el mensaje de error mostrado es *Subsistema no encontrado*.

## Ejemplo de funcionamiento

En este apartado se resumen los pasos que debe seguir el usuario para intercambiar claves RSA mediante Editran/GC.

Supongamos que las 2 entidades se identifican con los códigos: L9991 (local) y R9991 (remoto).

Asumiendo que ambos acuerdan intercambiar sus claves por la aplicación de servicio TELEGC, deberán tener una presentación en Editran/G definida para esos códigos y esa aplicación.

### Intercambio de claves RSA

#### Generación y envío de una clave local RSA

* **Generar una pareja de claves RSA:**
* Seleccionar opción **1**: Gestión de claves Propias RSA
* Seleccionar **A**: ALTA poniendo en SUBSISTEMA **T** (o el identificador que se desee) y su ENTORNO LOCAL. En el ejemplo.

  ![assets/image23.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-add9b4451708cd877b5c13c2a9d0a2ecc06cef7d%2Fimage23.png?alt=media)
* Completar el resto de campos de la pantalla siguiente que incluye el tamaño de la clave a generar y pulsar Intro para generar la versión 1 de la clave. Por defecto la clave se generará de 2048, pero puede seleccionar 1024 o 4096 si así lo requiere.

  ![assets/image24.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-46a581d4f243b00b457515079981d54f81695b5e%2Fimage24.png?alt=media)
* Comprobar seleccionando **C**: CONSULTA que la clave generada es la que queda como *seleccionada*.

  ![assets/image25.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-3c956138494d3c46b8aa7d906c11661c0b636155%2Fimage25.png?alt=media)
* **Asociar y enviar claves locales al remoto**
* Seleccionar opción **2** del menú principal: *Asociación de claves propias RSA*.
* Seleccionar **A** (ALTA) poniendo en SUBSISTEMA **T**, ENTORNO LOCAL **L9991** y ENTORNO REMOTO **R9991** para establecer que queremos intercambiar con ese remoto la clave generada previamente.
* Observar que en la pantalla que aparece, el campo *"LABEL"* no puede ser modificada ya que debe coincidir con la dada en la generación. Si ya hubiéramos intercambiado alguna clave RSA con este remoto podríamos firmar el envío de las siguientes claves.

  ![assets/image26.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-0126b1c210ba258ef31267302c51f8bee77d7e47%2Fimage26.png?alt=media)
* Comprobar seleccionando **C** (Consulta) que se ha actualizado la clave para ese remoto con la propia asociada. El estado de la clave en este momento es *"Clave Generada"*.

  ![assets/image27.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-36eebb73ff29e6786ab4dca9c5202c7b65f06d19%2Fimage27.png?alt=media)
* Seleccionar **E** (Exportar nueva clave) para generar y/o enviar el fichero de intercambio para el remoto. Si se pide el envío, y como se recomienda en todo este manual las entidades tienen configurado Editran para que el proceso de intercambio sea automático, lo que observará es que en pocos minutos al hacer la consulta del subsistema la clave aparecerá como "*Clave Activa*".

  ![assets/image28.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-082337b9f59c7ca1d0b792ed7c0b9fdc4ac714c8%2Fimage28.png?alt=media)
* Si la entidad remota tuviera algún problema al enviarle su fichero de confirmación, deberá pedir la recepción desde Editran para completar el paso siguiente.
* **Recepción del fichero de confirmación**

Una vez que el remoto haya insertado nuestra clave pública nos enviará un fichero de confirmación. Este fichero nos indica que el remoto incorporó la clave correctamente y que puede ser utilizada con ese remoto.

Si estamos utilizando Editran y tenemos el automatismo posterior a recepción de Editran/GC, entonces al recibir la confirmación, automáticamente se activará la clave.

#### Generar y enviar una nueva versión de la clave

Para generar una nueva pareja de claves para este subsistema, entrar en el menú ***Gestión de claves propias RSA*** y seleccionar la opción **G** (Generación). Una vez confirmada la operación entrar en consulta y comprobar que en la relación de claves aparece la nueva versión como la clave actualmente seleccionada.

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

Para enviar esta nueva versión, entrar en el menú ***Asociación de claves propias RSA*** y seleccionar la opción **E** (Exportar), rellenando o eligiendo el subsistema deseado. En este caso, antes de generar el fichero de intercambio se actualizará automáticamente la clave del subsistema con la versión seleccionada de la lista de claves propias.

En el nombre del archivo a exportar se puede ver la versión que se va a enviar en la extensión. En este caso **v02.**

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

A partir de aquí el proceso de exportación es igual al explicado en el apartado anterior. Una vez enviada la nueva clave, en la lista de versiones del subsistema se verá esta como la clave activa, y la anterior quedará como operativa.

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

#### Incorporar y confirmar claves remotas RSA

* **Generar subsistema RSA remoto.**

  En este punto se explica cómo dar de alta un nuevo subsistema remoto desde el menú de Editran/GC. Es importante recalcar que este paso no es necesario en el proceso automático de intercambio.
* Seleccionar la opción **4** del menú principal: Asociación de claves remotas RSA.
* Seleccionar **A** (Alta). Los datos que identifican este subsistema los decide el remoto por lo que antes de darlo de alta debemos conocer esta información. Si suponemos que el remoto nos comunica que ha definido el subsistema 2, en los campos del alta pondremos:

  ![assets/image32.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-af6fcb0eec547c2e3ed30a10fec00297e12777d4%2Fimage32.png?alt=media)
* Completar los campos editables de la siguiente pantalla y pulsar F3 para generar el nuevo subsistema.

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

Para ello hay que procesar el fichero de claves recibido. Como se ha comentado antes, esto se puede hacer de dos formas: mediante un programa de usuario o desde la interfaz gráfica.

* El programa de usuario se explica en [PSTRECGC](#pstrecgc). Hay que tener en cuenta que al procesar el fichero el subsistema que viene en el fichero se generaría automáticamente si no existiera.
* Desde la interfaz gráfica, una vez dado de alta el subsistema para el que se quiere incorporar la clave, seleccionar la opción **I** (Importar) para ese subsistema y poner el path del fichero a procesar en la pantalla de confirmación. En este caso se validará que los datos del subsistema que van en el fichero coinciden con los especificados por el usuario.
* Si todo va bien, entrar en **C** (Consulta) para visualizar la lista de claves una vez incorporada.
* **Confirmar la incorporación de la clave**

Tras incorporar la clave pública RSA remota, se debe generar un fichero de confirmación que se enviará al remoto para que éste pueda comprobar que el proceso de incorporación se ha efectuado correctamente y así pasar la clave a estado *"Activa"* para que pueda ser utilizada por Editran.

La generación y envío del fichero de confirmación se hace automáticamente al recibir la clave siempre que en la presentación de Editran/G tenga configurado el programa de usuario posterior a recepción PSTRECGC.

## Intercambio de claves en Onesait Editran

La utilización de Editran como medio de transmisión del fichero de intercambio facilita la operativa necesaria de Editran/GC.

Fundamentalmente existen dos ventajas claves a la hora de usar Editran:

* Posibilidad de envío y recepción automática desde la interfaz de Editran/GC de los ficheros de confirmación y claves.
* Posibilidad de incorporación automática desde Editran, mediante un procedimientos de usuario posterior a recepción, del fichero de intercambio o del fichero de confirmación recibido.

A continuación, se explicará cómo aprovechar cada una de las ventajas mencionadas.

### Envío y recepción automática utilizando Onesait Editran

#### Subsistema Local

Para que un fichero de intercambio que contenga una clave RSA, es decir un fichero generado por Editran/GC al crear una nueva versión de una clave en un subsistema local, sea enviado automáticamente simplemente hay que añadir el parámetro de Aplicación Servicio Editran/G.

Además, habrá que dar de alta en Editran la presentación y sesión, teniendo en cuenta que el código local y el código remoto de Editran/G deben coincidir con el código local y el código remoto del subsistema de Editran/GC.

#### Subsistema Remoto

Para que un fichero de confirmación, es decir un fichero generado por Editran/GC al insertar una nueva versión de una clave en un subsistema remoto, sea enviado automáticamente simplemente hay que añadir el parámetro de Aplicación Servicio Editran/G en el subsistema Remoto.

Además, habrá que dar de alta en Editran/G la presentación y sesión, teniendo en cuenta que el código local y el código remoto de Editran/G deben coincidir con el código local y el código remoto del subsistema de Editran/GC.

#### Perfiles de Onesait Editran/G

Los ficheros de intercambio a trasmitir, tanto el fichero de claves como el fichero confirmación, tienen el mismo formato que habrá que dar de alta en las Presentaciones de Editran/G. A continuación, se añade una tabla donde aparecen los parámetros de configuración de la Presentación:

***

| Sentido   | Concepto                            | Valor   |
| --------- | ----------------------------------- | ------- |
| Emisión   | Compresión                          | Si      |
| Emisión   | Alfabeto                            | ASCII   |
| Emisión   | Formato de Ficheros de Aplicación   | Fijo    |
| Emisión   | Traducción ASCII/EBCDIC             | No      |
| Emisión   | Longitud de registros de Aplicación | 00823   |
| Emisión   | Delimitador                         | Ninguno |
| Recepción | Traducir en recepción               | ASCII   |
| Recepción | Delimitador                         | Ninguno |
|           |                                     |         |

### Procedimientos Automáticos para Onesait Editran

La segunda ventaja es la incorporación automática de los ficheros de intercambio de claves y de confirmación que el remoto nos envíe.

Editran tiene la posibilidad de añadir programas de usuario que se ejecutan antes y después de las transmisiones. Si se quiere utilizar la incorporación automática de los ficheros, se deberán modificar los programas de usuario "Posteriores" y poner los entregados en el producto específicos para Editran/GC.

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

Por tanto, de la Presentación de Editran/G, con código local y código remoto igual que la dada de alta en Editran/GC, y con la Aplicación TELEGC se deberá modificar como se muestra en la pantalla.

#### PSTRECGC

Es un procedimiento especial que trata el fichero de intercambio recibido. Si es un fichero de Clave incorpora la clave RSA asociándola al subsistema correspondiente y confirma su recepción al extremo remoto para que pueda ser utilizada en la siguiente transmisión. Si se recibe un fichero de confirmación se actualiza el estado de la clave correspondiente a "Activa".

En el posterior a recepción está la llamada al comando **insertgc\_r** de Editran/GC que realiza estas acciones.

#### PSTEMIGC

Es un procedimiento especial que procesa el fichero de intercambio emitido y actualiza el estado de la clave correspondiente. Si oes un fichero de Clave el estado será *"Fichero de Clave Enviado"*, y si es fichero de Confirmación el nuevo estado será *"Clave Activa"*.

En este posterior se llama al comando **insertgc\_e** de Editran/GC que realiza esta tarea.

### Utilidad para gestionar claves

#### Comando gc\_config

Para facilitar al usuario el intercambio de claves RSA, existe una utilidad que le permite realizar todo el proceso sin necesidad de utilizar la interfaz gráfica y seguir los pasos que se han ido describiendo en este manual. Con el comando **gc\_config** se puede tanto crear y enviar una clave RSA propia como recibir una clave ajena. En ambos casos, el comando controla el estado del intercambio y realiza los pasos necesarios para completarlo.

Consulte la guía rápida Configuración AES/RSA para ver en detalle el modo de uso de esta utilidad.

La sintaxis del programa es la siguiente:

```
gc_config. Utilidad Editran/GC para intercambio de claves.
Uso : gc_config [-k<nBits>] [-v] [-l<local>] -r<remoto> -s<subsistema>

      gc_config -R [-l<local>] -r<remoto>

Opciones en emision:
  -k<nBits> :   Generar nueva clave de longitud <nBits> (4096 por defecto).
  -v :  Generar una nueva version del subsistema.
  -l<local> :   Codigo Editran de entidad local. Obligatorio si es multientorno.
  -r<remoto>:   Codigo Editran de entidad remota
  -s<subsistema> :      Nuevo subsistema Editran/GC

Opciones en recepci¾n:
  -R :  Obligatoria para indicar que se va a recibir la clave.
  -l<local> :   Codigo Editran de entidad local. Obligatorio si es multientorno.
  -r<remoto>:   Codigo Editran de entidad remota
```

#### Comando gc\_vclaves

Muestra la información de las versiones de un subsistema de Editran/GC.

```
gc_vclaves. Muestra las claves de un Subsistema Editran/GC.

Uso : gc_vclaves [-L | -R] [-l<local>] [-r<remoto>] [-s<subsistema>]

Siendo :
  -L        :      Subsistema propio
  -R        :      Subsistema remoto
  -l<local> :      Codigo Editran de entidad local
  -r<remoto>:      Codigo Editran de entidad remota
  -s<subsistema> : Subsistema Editran/GC
```

Ejemplo:\
El comando `gc_vclaves` invocado sin parámetros muestra la información de todos los subsistemas existentes y su versión activa.

```
gc_vclaves
T Local     Remoto    Sub V_Activa
R L00000010 W00000010  N  15
L L00000010 W00000010  N  13
L L00000010 W00000110  N  13
R L00000010 W00000110  A  5
```

### Parámetros de cifrado en Onesait Editran

Las claves intercambiadas mediante Editran/GC son usadas en Editran para la transmisión de datos protegidos. En concreto se usan en las transmisiones que se configuran con autenticación RSA. Puede consultar información detallada de los parámetros de criptografía en los Manuales de Usuario de Editran/G y Editran/P.

A modo de ejemplo, se muestra la pantalla de una Presentación configurada con uso de subsistemas de Editran/GC.

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

## Apéndices

### Estados de los subsistemas

A continuación, aparece una lista con todos los estados posibles de las claves de los subsistemas:

***

| Id | Estado                              | Texto                                        |
| -- | ----------------------------------- | -------------------------------------------- |
| 1  | CLAVE\_GENERADA                     | Clave Generada                               |
| 2  | CLAVE\_OPERATIVA                    | Clave Operativa                              |
| 3  | CLAVE\_ACTIVA                       | Clave Activa                                 |
| 4  | GENERADO\_FICHERO\_ENVIO\_CLAVE     | Generado el Fichero de Envió de Clave        |
| 5  | ENVIANDO\_FICHERO\_CLAVE            | Enviando el Fichero de Clave                 |
| 6  | ERROR\_ENVIO\_FICHERO\_CLAVE        | Error al Enviar el Fichero de Clave          |
| 7  | FICHERO\_CLAVE\_ENVIADO             | Fichero de Clave Enviado                     |
| 8  | RECIBIDA\_CONFIRMACION              | Confirmación Recibida                        |
| 9  | CONFIRMACION\_INVALIDA              | Recibido un Fichero de Confirmación Inválido |
| 10 | CLAVE\_REMOTA\_INSERTADA            | Clave Remota Insertada                       |
| 11 | GENERADO\_FICHERO\_CONFIRMACION     | Generado Fichero de Confirmación             |
| 12 | ENVIANDO\_FICHERO\_CONFIRMACION     | Enviando del Fichero deConfirmación          |
| 13 | ERROR\_ENVIO\_FICHERO\_CONFIRMACION | Error al Enviar el Fichero de Confirmación   |
| 14 | FICHERO\_CONFIRMACION\_ENVIADO      | Fichero de Confirmación Enviado              |
| 15 | CLAVE\_CANCELADA                    | Clave Cancelada                              |
| 17 | CLAVE\_NO\_SELECCIONADA             | Clave NO Seleccionada                        |
| 18 | CLAVE\_SELECCIONADA                 | Clave Seleccionada                           |
|    |                                     |                                              |

La tabla será útil para localizar por el identificador cada uno de los estados del siguiente diagrama.

### Diagrama de Estados

#### Clave Propia RSA

Diagrama de secuencia de estados para una clave de un Subsistema propio RSA:

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

#### Clave Local

![assets/image37.png](https://261070666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2W4cn5C1WDTJzDOR25es%2Fuploads%2Fgit-blob-1e7802a065a864a450681f55a3c253067d2bf71e%2Fimage37.png?alt=media)Diagrama de secuencia de estados para una clave Local RSA:

#### Clave Remota

Diagrama de secuencia de estados para una clave Remota RSA:

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

*Persona de contacto* <editran@minsait.com>

Avda. de Bruselas 35\
28108 Alcobendas,\
Madrid, España\
T +34 91 480 50 00\
F +34 91 480 50 80

[www.minsait.com](http://www.minsait.com)


---

# 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/linux/gestor_claves.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.
