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. |