Gerência de segredos compartilhados.
Consulte a documentação técnica do HSM.
Definições e 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) |
Funções | |
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>
Nível de segurança não conhecido. Usado em DSKeepProbeSecret().
#define DN_SKEEP_SEC_LEVEL_64b (1) |
#include <dinamo.h>
Nível de segurança de 64 bits.
#define DN_SKEEP_SEC_LEVEL_96b (2) |
#include <dinamo.h>
Nível de segurança de 96 bits.
#define DN_SKEEP_SEC_LEVEL_112b (3) |
#include <dinamo.h>
Nível de segurança de 112 bits.
#define DN_SKEEP_SEC_LEVEL_128b (4) |
#include <dinamo.h>
Nível de segurança de 128 bits.
#define DN_SKEEP_SEC_LEVEL_160b (5) |
#include <dinamo.h>
Nível de segurança de 160 bits.
#define DN_SKEEP_TYPE_NMIND (0) |
#include <dinamo.h>
Não limita o tipo de autenticação.
#define DN_SKEEP_TYPE_SCRD (1) |
#include <dinamo.h>
Partição com autenticação M de N.
#define DN_SKEEP_TYPE_2FA (2) |
#include <dinamo.h>
Partição com autenticação OATH.
#define DN_SKEEP_TYPE_CRT (4) |
#include <dinamo.h>
Partição com autenticação X.509.
#define DN_SKEEP_SHARE_CKS_LEN (4) |
#include <dinamo.h>
Tamanho do valor de verificação de uma parte (share).
#define DN_SKEEP_GEN_SHARE_CKS (1) |
#include <dinamo.h>
Gera o valor de verificação de uma parte (share).
int AAP_API DSKeepNewSecret | ( | HSESSIONCTX | hSession, |
const char * | cszId, | ||
BYTE | bSecLevel, | ||
WORD | wAuthType, | ||
DWORD | dwReserved ) |
#include <dinamo.h>
Cria um novo segredo utilizando módulo Safe Keeping.
[in] | hSession | Contexto adquirido através da função DOpenSession(). | ||||||||||||||||||||||||||||
[in] | cszId | Indentificador do objeto que será criado no HSM. Veja szKeyId em DGenerateKey() para detalhes sobre tamanhos máximos de identificadores. | ||||||||||||||||||||||||||||
[in] | bSecLevel | Nível de segurança. Pode ser uma das opções abaixo.
|
[in] | wAuthType | Tipo de autenticação requerida pela partição do segredo. Pode ser um ou a combinação dos valores abaixo.
| ||||||||||
[in] | dwReserved | Reservado para uso futuro (deve 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>
Faz a divisão M de N de um segredo. De acordo com o padrão de compartilhamento de segredos de Shamir.
[in] | hSession | Contexto adquirido através da função DOpenSession(). |
[in] | cszId | Indentificador do objeto no HSM. |
[in] | bSecLevel | Nível de segurança. Ver opções em DSKeepNewSecret(). |
[in] | wAuthType | Tipo de autenticação requerida pela partição do segredo. Ver opções em DSKeepNewSecret(). |
[in] | bM | Quantidade mínima de partes (share) necessárias para reconstrução do segredo. Deve ser maior ou igual a DN_SKEEP_M_OF_N_S_MIN e menor ou igual a DN_SKEEP_M_OF_N_S_MAX. |
[in] | bN | Quantidade de partes (share) que serão geradas. Deve ser maior ou igual a DN_SKEEP_M_OF_N_S_MIN e menor ou igual a DN_SKEEP_M_OF_N_S_MAX. |
[out] | pstShares | Vetor de estruturas SKeepShare que receberá as partes (share) geradas. O tamanho deste vetor deve ser bN elementos.
|
[in] | dwReserved | Reservado para uso futuro (deve ser 0). |
int AAP_API DSKeepProbeSecret | ( | HSESSIONCTX | hSession, |
const char * | cszId, | ||
SKeepProbeInfo * | pstInfo, | ||
DWORD | dwReserved ) |
#include <dinamo.h>
Recupera informaçoes de um segredo.
[in] | hSession | Contexto adquirido através da função DOpenSession(). |
[in] | cszId | Indentificador do objeto no HSM. |
[out] | pstInfo | Estrutura que receberá as informações do segredo. Recebe uma estrutura SKeepProbeInfo. |
[in] | dwReserved | Reservado para uso futuro (deve ser 0). |
int AAP_API DSKeepMatchSecret | ( | HSESSIONCTX | hSession, |
const char * | cszId, | ||
const SKeepShare * | cpstShares, | ||
DWORD | dwSharesCount, | ||
DWORD | dwReserved ) |
#include <dinamo.h>
Verifica se as partes (share) de um segredo são válidas.
[in] | hSession | Contexto adquirido através da função DOpenSession(). |
[in] | cszId | Indentificador do objeto no HSM. |
[in] | cpstShares | Vetor de estruturas SKeepShare que contém as partes (share) do segredo. A quantidade de elementos deste vetor deve ser informado em dwSharesCount . A quantidade deste buffer deve ser a quantidade de partes M. |
[in] | dwSharesCount | Quantidade de elementos de pstShares . |
[in] | dwReserved | Reservado para uso futuro (deve ser 0). |
int AAP_API DSKeepRecoverSecret | ( | HSESSIONCTX | hSession, |
const char * | cszId, | ||
const SKeepShare * | cpstShares, | ||
DWORD | dwSharesCount, | ||
SKeepRecoverInfo * | pstRecoverInfo, | ||
DWORD | dwReserved ) |
#include <dinamo.h>
Recupera um segredo a partir de suas partes (share).
[in] | hSession | Contexto adquirido através da função DOpenSession(). |
[in] | cszId | Indentificador do objeto no HSM. |
[in] | cpstShares | Vetor de estruturas SKeepShare que contém as partes (share) do segredo. A quantidade de elementos deste vetor deve ser informado em dwSharesCount . A quantidade deste buffer deve ser a quantidade de partes M. |
[in] | dwSharesCount | Quantidade de elementos de pstShares . |
[out] | pstRecoverInfo | Estrutura que receberá as informações do segredo. Recebe uma estrutura SKeepRecoverInfo. |
[in] | dwReserved | Reservado para uso futuro (deve ser 0). |
int AAP_API DSKeepRemoveSecret | ( | HSESSIONCTX | hSession, |
const char * | cszId, | ||
BYTE | bSecLevel, | ||
WORD | wAuthType, | ||
DWORD | dwReserved ) |
#include <dinamo.h>
Remove um segredo.
[in] | hSession | Contexto adquirido através da função DOpenSession(). |
[in] | cszId | Indentificador do objeto no HSM. |
[in] | bSecLevel | Nível de segurança. Ver opções em DSKeepNewSecret(). |
[in] | wAuthType | Tipo de autenticação requerida pela partição do segredo. Ver opções em DSKeepNewSecret(). |
[in] | dwReserved | Reservado para uso futuro (deve ser 0). |
#include <dinamo.h>
Gera o valor de verificação de uma parte (share).
[in] | dwType | Tipo da operação. Pode ser um dos valores abaixo.
| ||||
[in] | cszShare | Buffer que contém a parte (share) do segredo. | ||||
[out] | szCks | Buffer que receberá o valor de verificação. O tamanho deste buffer deve ser DN_SKEEP_SHARE_CKS_LEN + 1. |