Configuración
Dinamo DinamoEl motor OpenSSL es una capa por encima de la API nativa de . ConsulteSoftware 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
Dinamo El motor OpenSSL en 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 ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)(void));
int ENGINE_cmd_is_executable(ENGINE *e, int cmd);
int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name,long i, void *p, void (*f)(void), int cmd_optional);
int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg, int cmd_optional);
Consulte la documentación específica de OpenSSL2 para el uso y otras/actuales funciones.
Dinamo A continuación se muestra un ejemplo práctico utilizando el programa de línea de comandos openssl con el motor OpenSSL de pasar 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 dentro del HSM. Algunos parámetros (ruta biblioteca, id de usuario, dirección IP e id de clave) deben coincidir con el entorno.
Nota
OpenSSL 1.0.2p 14 ago 2018
-
Mando del motor
openssl engine -t dynamic -pre SO_PATH:C:\dinamo.dll -pre ID:dinamo -pre LIST_ADD:1 -pre LOAD -pren USR:master -pre IP:127.0.0.1 -pre USR_PWD:12345678
(dynamic) Dynamic engine loading support [Success]: SO_PATH:D:\dinamo.dll [Success]: ID:dinamo [Success]: LIST_ADD:1 [Success]: LOAD [Success]: USR:usuario [Success]: IP:10.10.10.10 [Success]: USR_PWD:12345678 Loaded: (dinamo) Dinamo engine support [ available ]
-
Comando Req
openssl req -engine dinamo -new -key rsa -keyform engine -out req_rsa.pem -text -x509 -subj "/CN=John RSA Doe"
engine "dinamo" set.
-
El prefijo de las variables de entorno se ha actualizado desde la versión 3.2.26 del programa HSM. A partir de esta versión el prefijo es
HSM_
en versiones anteriores el prefijo esDFENCE_
.Por ejemplo:
Versión antigua:
DFENCE_OSSL_ENGINE_ENCRYPTED
.Nueva versión:
HSM_OSSL_ENGINE_ENCRYPTED
. ↩