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 (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 variableDFENCE_PKCS11_SPECIAL_PWD
a continuación) no es necesario definirDFENCE_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 de HSM (véase variableDFENCE_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_GetSlotInfo
etc ) y la dirección IP introducida enpPin
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 pPin
de la función PKCS#11 C_Login
.
Variable no definida o variable definida para 0
parámetro pPin
(en función PKCS#11 C_Login
) sólo debe recibir la contraseña (contraseña
) del HSM:
contraseña
Variable establecida en 1
parámetro pPin
(en C_Login
) debe recibir el identificador del usuario (nombre de usuario
), la contraseña (contraseña
) la dirección IP de 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 1
conexión con el HSM serán encriptados.
Variable establecida en 0
conexión con el HSM estará en texto plano.
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 0
la reconexión automática está desactivada.
Variable definida 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 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.
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 para 0
bú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(session1);
. . .
C_FindObjects(session1);
. . .
C_GetAttributeValue(session1);
. . .
C_FindObjectsFinal(session1);
Variable establecida en 1
sistema 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(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_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).
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.