Ir al contenido

Configuración

La biblioteca PKCS#11 de HSM Dinamo es una capa por encima de la API nativa de Dinamo. Puede consultar las opciones de configuración de la biblioteca cliente en el Manual del usuario.

La configuración se realiza mediante variables de entorno (prefijadas con DFENCE_PKCS11_) que deben establecerse en el ámbito del sistema, del usuario o del proceso que carga la biblioteca.

Información

Advertencia: Siempre que cambie las variables de entorno, deberá reiniciar la aplicación.

Usuario

DFENCE_PKCS11_USER

Id (nombre) del usuario (userid) del HSM que utilizará PKCS#11.

La variable debe tener el id del usuario para que la librería PKCS#11 funcione correctamente.

Nota: si utiliza la función pPin para introducir el identificador de usuario (véase la variable DFENCE_PKCS11_SPECIAL_PWD a continuación) no es necesario definir DFENCE_PKCS11_USER.

Dirección IP

DFENCE_PKCS11_IP

Dirección IP del HSM.

La variable debe ajustarse a la dirección IP del HSM para que PKCS#11 funcione correctamente.

Nota: si utiliza la función pPin para introducir la dirección IP del HSM (véase la variable DFENCE_PKCS11_SPECIAL_PWD a continuación) la dirección IP definida aquí se utilizará en funciones PKCS#11 no autenticadas (por ejemplo: C_GetTokenInfo, C_GetSlotInfoetc ) y la dirección IP introducida en pPin se utilizará en la operación de autenticación.

PIN especial

DFENCE_PKCS11_SPECIAL_PWD

Permite pasar el identificador de usuario, la contraseña y la dirección IP del HSM en el parámetro pPin de la función PKCS#11 C_Login.

Variable no definida o variable definida para 0parámetro pPin (en función PKCS#11 C_Login) sólo debe recibir la contraseña (contraseña) del usuario HSM:

contraseña

Variable establecida en 1parámetro pPin (en C_Login ) debe recibir el identificador del usuario (nombre de usuario), la contraseña (contraseña) la dirección IP del HSM (ip) en el formato:

usuario:contraseña@ip

Por ejemplo master:12345678@10.0.62.10

Si el balanceo de carga está activado, la IP será ignorada internamente.

Para las funciones PKCS#11 no autenticadas, la dirección IP utilizada será la introducida en el campo DFENCE_PKCS11_IP.

Cifrado

DFENCE_PKCS11_ENCRYPTED

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

Variable no definida o variable definida para 1La conexión con el HSM estará encriptada.

Variable establecida en 0La conexión con el HSM se realizará en texto claro.

Se recomienda utilizar una conexión cifrada.

Reconexión automática

DFENCE_PKCS11_AUTO_RECONNECT

Permite la reconexión automática de las sesiones HSM en caso de fallo.

Variable no definida o definida en 0la reconexión automática está desactivada.

Variable definida en 1la reconexión automática está activada.

Se recomienda utilizar la reconexión automática activada.

La reconexión automática está disponible en las API que acceden al HSM y que no forman parte de operaciones que requieren más de un paso para finalizar.

Ejemplos de API que no función de reconexión automática: C_Encriptar, C_EncryptUpdate, C_Descifrar, C_DecryptUpdate etc. En caso de fallo de la red en estas funciones, hay que cerrar la sesión que ha fallado, abrir una nueva y repetir la operación.

Ruta de registro

DFENCE_PKCS11_RUTA_REGISTRO

Ruta con el nombre del fichero que contendrá los logs generados por la librería.

Variable no definida, no se genera el registro.

La variable definida debe contener la ruta y el nombre del archivo.

Por ejemplo: c:\tacndp11.log

Nivel de registro

DFENCE_PKCS11_LOG_LEVEL

Define el nivel de registro.

Los niveles de registro son:

  • 0 : sólo errores; registra únicamente las situaciones de error (que normalmente impiden la realización del servicio solicitado).
  • 3 : depuración; registra información detallada de funcionamiento, así como mensajes de error.
  • 1000 : desactivado; no se registra ningún evento.

En condiciones normales de funcionamiento, se recomienda mantener el registro de la biblioteca al mínimo. El nivel de depuración puede utilizarse para diagnosticar problemas de funcionamiento.

Descarga de troncos

DFENCE_PKCS11_LOG_FLUSH

Permite que los mensajes de registro se escriban directamente en el archivo de registro, sin utilizar un búfer.

Variable no configurada o configurada en 0: los mensajes de registro se tamponan y se escriben en el archivo de registro a intervalos.

Variable establecida en 1los mensajes de registro se escriben directamente en el archivo.

La biblioteca puede mantener un pequeño búfer de mensajes de registro antes de escribir físicamente en el archivo. Esto permite mejorar el rendimiento. En condiciones de error o situaciones de diagnóstico, es interesante que el registro se escriba inmediatamente después de producirse.

Lista de búsqueda grande

DFENCE_PKCS11_LARGE_FIND_LIST

Permite utilizar la búsqueda para grandes cantidades de objetos.

Variable no definida o definida para 0búsqueda: utiliza el sistema de búsqueda estándar con un límite de lectura de 512 objetos por usuario. Los objetos que superan el límite de 512 objetos no aparecen en la búsqueda.

Permite realizar otras llamadas utilizando la misma sesión durante una operación de búsqueda.

Ejemplo permitido:

C_FindObjectsInit(sesión1);
    . . .
    C_FindObjects(sesión1);
    . . .
    C_GetAttributeValue(sesión1);
    . . .
C_FindObjectsFinal(sesión1);

Variable establecida en 1sistema de búsqueda: utiliza el sistema de búsqueda para un gran número de objetos por usuario.

Busca cantidades superiores a 512 objetos, pero no permite realizar otras llamadas utilizando la misma sesión durante una operación de búsqueda.

Ejemplo permitido:

C_FindObjectsInit(sesión1);
    . . .
    C_FindObjects(sesión1);
    . . .
C_FindObjectsFinal(sesión1);
. . .
C_GetAttributeValue(sesión1);

Ejemplo no permitido:

C_FindObjectsInit(sesión1);
    . . .
    C_FindObjects(sesión1);
    . . .
    C_GetAttributeValue(sesión1);
    . . .
C_FindObjectsFinal(sesión1);

Soporte para el uso de objetos no privados

HSM_PKCS11_SOPORTE_DE_OBJETOS_NO_PRIVADOS

Permite la creación de objetos no privados (atributo CKA_PRIVADO igual a 0).

El atributo objeto CKA_PRIVADO indica si un objeto es privado o público en cuanto a sus requisitos de acceso. En el contexto de PKCS#11Se puede acceder a un objeto público mediante una sesión autenticada o no autenticadase puede acceder al objeto privado sólo utilizando una sesión autenticada.

Para permitir la creación de objetos públicos (CKA_PRIVADO igual a 0), debe utilizarse esta variable de entorno.

Variable no definida o definida para 0: no permite la generación de objetos públicos (CKA_PRIVADO igual a 0).

Variable establecida en 1: permite la generación de objetos públicos (CKA_PRIVADO igual a 0).

Soporte para el uso de atributos conflictivos

HSM_PKCS11_DISABLE_CONFLICTING_ATTR

Permite el uso de atributos conflictivos (p. ej. CKA_SENSIBLE e CKA_EXTRAÍBLE con valores CK_TRUE).

Para permitir la creación de objetos con atributos conflictivos, debe utilizarse esta variable de entorno. Actualmente, esta opción es válida para los atributos CKA_SENSIBLE e CKA_EXTRAÍBLE.

Variable no definida o definida para 0: no permite la generación de objetos con atributos conflictivos.

Variable establecida en 1: permite la generación de objetos con atributos conflictivos.