Gestión de secretos compartidos.
Véase Documentación técnica de HSM.
Definiciones y macros | |
| #define | DN_SKEEP_LEVEL_UNKNOWN (0) |
| #define | DN_SKEEP_SEC_LEVEL_64b (1) |
| #define | DN_SKEEP_SEC_LEVEL_96b (2) |
| #define | DN_SKEEP_SEC_LEVEL_112b (3) |
| #define | DN_SKEEP_SEC_LEVEL_128b (4) |
| #define | DN_SKEEP_SEC_LEVEL_160b (5) |
| #define | DN_SKEEP_TYPE_NMIND (0) |
| #define | DN_SKEEP_TYPE_SCRD (1) |
| #define | DN_SKEEP_TYPE_2FA (2) |
| #define | DN_SKEEP_TYPE_CRT (4) |
| #define | DN_SKEEP_SHARE_CKS_LEN (4) |
| #define | DN_SKEEP_GEN_SHARE_CKS (1) |
Funciones | |
| int AAP_API | DSKeepNewSecret(HSESSIONCTX hSession, const char *cszId, BYTE bSecLevel, WORD wAuthType, DWORD dwReserved) |
| int AAP_API | DSKeepSplitSecret(HSESSIONCTX hSession, const char *cszId, BYTE bSecLevel, WORD wAuthType, BYTE bM, BYTE bN, SKeepShare *pstShares, DWORD dwReserved) |
| int AAP_API | DSKeepProbeSecret(HSESSIONCTX hSession, const char *cszId, SKeepProbeInfo *pstInfo, DWORD dwReserved) |
| int AAP_API | DSKeepMatchSecret(HSESSIONCTX hSession, const char *cszId, const SKeepShare *cpstShares, DWORD dwSharesCount, DWORD dwReserved) |
| int AAP_API | DSKeepRecoverSecret(HSESSIONCTX hSession, const char *cszId, const SKeepShare *cpstShares, DWORD dwSharesCount, SKeepRecoverInfo *pstRecoverInfo, DWORD dwReserved) |
| int AAP_API | DSKeepRemoveSecret(HSESSIONCTX hSession, const char *cszId, BYTE bSecLevel, WORD wAuthType, DWORD dwReserved) |
| int AAP_API | DSKeepCalcShareCks(DWORD dwType, const char *cszShare, char *szCks) |
| #define DN_SKEEP_LEVEL_UNKNOWN (0) |
#include <dinamo.h>
Nivel de seguridad desconocido. Utilizado en DSKeepProbeSecret().
| #define DN_SKEEP_SEC_LEVEL_64b (1) |
#include <dinamo.h>
Nivel de seguridad de 64 bits.
| #define DN_SKEEP_SEC_LEVEL_96b (2) |
#include <dinamo.h>
Nivel de seguridad de 96 bits.
| #define DN_SKEEP_SEC_LEVEL_112b (3) |
#include <dinamo.h>
Nivel de seguridad de 112 bits.
| #define DN_SKEEP_SEC_LEVEL_128b (4) |
#include <dinamo.h>
Nivel de seguridad de 128 bits.
| #define DN_SKEEP_SEC_LEVEL_160b (5) |
#include <dinamo.h>
Nivel de seguridad de 160 bits.
| #define DN_SKEEP_TYPE_NMIND (0) |
#include <dinamo.h>
No limita el tipo de autenticación.
| #define DN_SKEEP_TYPE_SCRD (1) |
#include <dinamo.h>
Partición con M de N autenticación.
| #define DN_SKEEP_TYPE_2FA (2) |
#include <dinamo.h>
OATHPartición con autenticación .
| #define DN_SKEEP_TYPE_CRT (4) |
#include <dinamo.h>
Partición con autenticación X.509.
| #define DN_SKEEP_SHARE_CKS_LEN (4) |
#include <dinamo.h>
Tamaño del valor de verificación (cuota) de una parte.
| #define DN_SKEEP_GEN_SHARE_CKS (1) |
#include <dinamo.h>
Genera el valor de verificación de una acción.
| int AAP_API DSKeepNewSecret | ( | HSESSIONCTX | hSession, |
| const char * | cszId, | ||
| BYTE | bSecLevel, | ||
| WORD | wAuthType, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Cree un nuevo secreto utilizando el módulo Guardado Seguro.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||||||||||||||
| [in] | cszId | Identificador del objeto que se creará en el HSM. Consulte szKeyId en DGenerateKey() para obtener más información sobre el tamaño máximo de los identificadores. | ||||||||||||||||||||||||||||
| [in] | bSecLevel | Nivel de seguridad. Puede ser una de las opciones siguientes.
|
| [in] | wAuthType | Tipo de autenticación requerida por la partición secreta. Puede ser uno o una combinación de los valores siguientes.
| ||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DSKeepSplitSecret | ( | HSESSIONCTX | hSession, |
| const char * | cszId, | ||
| BYTE | bSecLevel, | ||
| WORD | wAuthType, | ||
| BYTE | bM, | ||
| BYTE | bN, | ||
| SKeepShare * | pstShares, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Divide M de N en secreto. Según el estándar de compartición de secretos de Shamir.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). |
| [in] | cszId | Identificador del objeto en el HSM. |
| [in] | bSecLevel | Nivel de seguridad. Ver opciones en DSKeepNewSecret(). |
| [in] | wAuthType | Tipo de autenticación requerida por la partición secreta. Ver opciones en DSKeepNewSecret(). |
| [in] | bM | Número mínimo de acciones necesarias para reconstruir el secreto. Debe ser mayor o igual que DN_SKEEP_M_OF_N_S_MIN y menor o igual que DN_SKEEP_M_OF_N_S_MAX. |
| [in] | bN | Número de acciones a generar. Debe ser mayor o igual que DN_SKEEP_M_OF_N_S_MIN y menor o igual que DN_SKEEP_M_OF_N_S_MAX. |
| [out] | pstShares | Vector de estructura SKeepShare que recibirá las acciones generadas. El tamaño de este vector debe ser bN elementos.
|
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DSKeepProbeSecret | ( | HSESSIONCTX | hSession, |
| const char * | cszId, | ||
| SKeepProbeInfo * | pstInfo, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Recuperar información de un secreto.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). |
| [in] | cszId | Identificador del objeto en el HSM. |
| [out] | pstInfo | Estructura que recibirá la información del secreto. Recibe una estructura SKeepProbeInfo. |
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DSKeepMatchSecret | ( | HSESSIONCTX | hSession, |
| const char * | cszId, | ||
| const SKeepShare * | cpstShares, | ||
| DWORD | dwSharesCount, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Comprueba que las acciones de un secreto son válidas.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). |
| [in] | cszId | Identificador del objeto en el HSM. |
| [in] | cpstShares | Vector de estructuras SKeepShare que contiene las acciones del secreto. El número de elementos de este vector debe introducirse en dwSharesCount. La cantidad de este buffer debe ser la cantidad de M shares. |
| [in] | dwSharesCount | Número de elementos pstShares. |
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DSKeepRecoverSecret | ( | HSESSIONCTX | hSession, |
| const char * | cszId, | ||
| const SKeepShare * | cpstShares, | ||
| DWORD | dwSharesCount, | ||
| SKeepRecoverInfo * | pstRecoverInfo, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Recuperar un secreto a partir de sus partes (compartir).
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). |
| [in] | cszId | Identificador del objeto en el HSM. |
| [in] | cpstShares | Vector de estructuras SKeepShare que contiene las acciones del secreto. El número de elementos de este vector debe introducirse en dwSharesCount. La cantidad de este buffer debe ser la cantidad de M shares. |
| [in] | dwSharesCount | Número de elementos pstShares. |
| [out] | pstRecoverInfo | Estructura que recibirá la información secreta. Recibe una estructura SKeepRecoverInfo. |
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DSKeepRemoveSecret | ( | HSESSIONCTX | hSession, |
| const char * | cszId, | ||
| BYTE | bSecLevel, | ||
| WORD | wAuthType, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Eliminar un secreto.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). |
| [in] | cszId | Identificador del objeto en el HSM. |
| [in] | bSecLevel | Nivel de seguridad. Ver opciones en DSKeepNewSecret(). |
| [in] | wAuthType | Tipo de autenticación requerida por la partición secreta. Ver opciones en DSKeepNewSecret(). |
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
#include <dinamo.h>
Genera el valor de verificación de una acción.
| [in] | dwType | Tipo de operación. Puede ser uno de los valores siguientes.
| ||||
| [in] | cszShare | Buffer que contiene la parte del secreto. | ||||
| [out] | szCks | Buffer que recibirá el valor de comprobación. El tamaño de este búfer debe ser DN_SKEEP_SHARE_CKS_LEN + 1. |