Ir al contenido

Configuración

Dinamo DinamoLa biblioteca PKCS#11 de HSM es una capa por encima de la API nativa de . 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 (con el prefijo DFENCE_PKCS11_) que deben establecerse en el ámbito del sistema, usuario o proceso que carga la biblioteca.

Información

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

Ficha PKCS#11 Ficha PKCS#11

Ficha PKCS#11

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 el parámetro pPin para introducir el ID de usuario (véase la variable DFENCE_PKCS11_SPECIAL_PWD más abajo) no es necesario establecer 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 el parámetro pPin para introducir la dirección IP del HSM (véase la variable DFENCE_PKCS11_SPECIAL_PWD más abajo), la dirección IP definida aquí se utilizará en las funciones PKCS#11 no autenticadas (por ejemplo, C_GetTokenInfo, C_GetSlotInfo, etc.) 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 establecida o variable establecida en 0: el parámetro pPin (en la función PKCS#11 C_Login) sólo debe recibir lacontraseña del usuario HSM:

contraseña

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

usuario:contraseña@ip

masterPor ejemplo: :12345678@10.0.62.10

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

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

Cifrado

DFENCE_PKCS11_ENCRYPTED

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

Variable no establecida o variable establecida en 1: la conexión con el HSM se cifrará.

Variable ajustada a 0: la conexión con el HSM será 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 configurada o configurada en 0: la reconexión automática está desactivada.

Variable establecida en 1: la 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 APIs que no tienen auto-reconnect: C_Encrypt, C_EncryptUpdate, C_Decrypt, C_DecryptUpdate etc. En caso de fallo de la red en estas funciones, debe cerrar la sesión que ha fallado, abrir una nueva y rehacer 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.

Ex.: 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 que se lleve a cabo el 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 1: los 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 como 0: utiliza el sistema de búsqueda estándar con un límite de lectura de 512 objetos por usuario. Los objetos por encima del 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(session1);
    . . .
    C_FindObjects(session1);
    . . .
    C_GetAttributeValue(session1);
    . . .
C_FindObjectsFinal(session1);

Variable establecida en 1: utiliza el sistema de búsqueda para grandes cantidades 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(session1);
    . . .
    C_FindObjects(session1);
    . . .
C_FindObjectsFinal(session1);
. . .
C_GetAttributeValue(session1);

Ejemplo no permitido:

C_FindObjectsInit(session1);
    . . .
    C_FindObjects(session1);
    . . .
    C_GetAttributeValue(session1);
    . . .
C_FindObjectsFinal(session1);

Objetos no privados

HSM_PKCS11_SOPORTE_DE_OBJETOS_NO_PRIVADOS

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

El atributo de objeto CKA_PRIVATE indica si un objeto es privado o público en términos de sus requisitos de acceso. En el contexto de PKCS#11, se puede acceder a un objeto público mediante una sesión autenticada o no autenticada, mientras que sólo se puede acceder a un objeto privado mediante una sesión autenticada.

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

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

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

Atributos conflictivos

HSM_PKCS11_DISABLE_CONFLICTING_ATTR

Permite el uso de atributos contradictorios (por ejemplo, CKA_SENSITIVE y CKA_EXTRACTABLE 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_SENSITIVE y CKA_EXTRACTABLE.

Variable no definida o ajustada a 0: no permite generar objetos con atributos conflictivos.

Variable establecida en 1: permite generar objetos con atributos conflictivos.