Ir al contenido

Configuración

El motor OpenSSL Dinamo es una capa por encima de la API nativa de Dinamo. Consulte Software cliente para conocer las opciones de configuración de la biblioteca cliente.

Variables medioambientales

El motor OpenSSL se configura mediante variables de entorno (prefijadas por HSM_OSSL_ENGINE_) que deben configurarse en el sistema operativo o en el proceso que carga la librería Engine.1

Atención

Cada vez que se modifican las variables de entorno, hay que reiniciar la aplicación.

Usuario

HSM_OSSL_ENGINE_USER

Nombre del usuario HSM que utilizará el motor OpenSSL.

La variable debe tener el nombre del usuario para que el motor OpenSSL funcione.

IP

HSM_OSSL_ENGINE_IP

Dirección del HSM que utilizará el motor OpenSSL.

La variable debe ajustarse a la dirección IP del HSM para que funcione el motor OpenSSL.

Cifrado

HSM_OSSL_ENGINE_ENCRYPTED

Define si la conexión realizada al HSM debe ser cifrada (TLS) o abierta (texto claro).

Variable no definida conexión cifrada. Variable definida para utilizar 0 para conexión abierta y 1 para conexión cifrada.

Se recomienda utilizar una conexión cifrada.

Control de mando

El motor OpenSSL en Dinamo acepta las configuraciones por comando de control descritas en la siguiente tabla. Estos ajustes tienen prioridad sobre los ajustes realizados mediante variables de entorno. Los ajustes realizados por comando de control pueden realizarse antes o inmediatamente después de inicializar el Motor (MOTOR_inicio()).

USR

Define el usuario HSM que se utilizará para conectarse al HSM.

El valor debe ser una cadena que contenga el nombre del usuario.

USR_PWD

Establece la contraseña del usuario utilizado para conectarse al HSM.

El valor debe ser una cadena que contenga la contraseña del usuario.

IP

Define la IP que se utilizará para conectarse al HSM.

El valor debe ser una cadena que contenga la dirección IP.

NO_TLS

Desactiva el uso de TLS al conectarse al HSM. Si no se establece este control, el HSM funcionará por defecto con TLS activado.

El valor debe ser un número, donde 1 para desactivar la conexión TLS y 0 para activar la conexión TLS.

Algunas funciones relacionadas con el uso de comandos:

int MOTOR_ctrl(MOTOR *e, int cmd, long i, void *p, void (*f)(void));

int ENGINE_cmd_is_executable(MOTOR *e, int cmd);

int ENGINE_ctrl_cmd(MOTOR *e, const char *cmd_nombre,long i, void *p, void (*f)(void), int cmd_opcional);

int ENGINE_ctrl_cmd_string(MOTOR *e, const char *cmd_nombre, const char *arg, int cmd_opcional);

Consulte la documentación específica de OpenSSL para conocer el uso y otras funciones/actuales.

[ 1] Manual del motor OpenSSL versión 1.0.2

A continuación se muestra un ejemplo práctico utilizando el programa de línea de comandos openssl con el motor OpenSSL de Dinamo pasando la configuración a través de los comandos de control de OpenSSL (véase la tabla anterior).

La orden consulte espera una clave RSA ya creada en el HSM. Algunos parámetros (ruta biblioteca, id de usuario, dirección IP e id de clave) deben coincidir con el entorno.

>openssl
OpenSSL> versión
OpenSSL 1.0.2p 14 Ago 2018
OpenSSL> engine -t dynamic -pre SO_PATH:D:\dinamo.dll -pre ID:dinamo -pre LIST_ADD:1 -pre LOAD -pre USR:user -pre IP:10.10.10.10 -pre USR_PWD:12345678
(dinámico) Soporte de carga dinámica del motor
[Éxito] SO_PATH:D:\dinamo.dll
[Éxito]: ID:dinamo
[Éxito]: LIST_ADD:1
[Éxito]: LOAD
[Éxito]: USR:usuario
[Éxito]: IP:10.10.10.10
[Éxito]: USR_PWD:12345678
Cargado: (dinamo) Dinamo soporte de motor
     [disponible]
OpenSSL> req -engine dinamo -new -key rsa -keyform engine -out req_rsa.pem -text -x509 -subj "/CN=John RSA Doe"
engine "dinamo" set.
OpenSSL>

  1. El prefijo de las variables de entorno se ha actualizado desde la versión 3.2.26 del cliente HSM. A partir de esta versión, el prefijo es HSM_en versiones anteriores el prefijo es DFENCE_.

    Por ejemplo:

    Versión antigua: DFENCE_OSSL_ENGINE_ENCRYPTED.

    Nueva versión: HSM_OSSL_ENGINE_ENCRYPTED