API C/C++
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
SVault

Descrição detalhada

Operações de tokenização e anonimização de dados.

Consulte a documentação técnica do HSM.

Funções

int AAP_API DSVaultGenToken (HSESSIONCTX hSession, DWORD dwOp, BYTE *pbInData, BYTE *pbTokenBlob, DWORD *pdwTokenBlobLen, char *szToken, DWORD dwReserved)
 
int AAP_API DSVaultGetData (HSESSIONCTX hSession, DWORD dwOp, const char *szMK, const char *szMask, BYTE *pbTokenBlob, DWORD dwTokenBlobLen, char *szData, DWORD *pdwDataLen, DWORD dwReserved)
 

Funções

◆ DSVaultGenToken()

int AAP_API DSVaultGenToken ( HSESSIONCTX hSession,
DWORD dwOp,
BYTE * pbInData,
BYTE * pbTokenBlob,
DWORD * pdwTokenBlobLen,
char * szToken,
DWORD dwReserved )

#include <dinamo.h>

Faz a tokenização de um dado, gerando um token blob e seu respectivo token.

Parâmetros
[in]hSessionContexto adquirido através da função DOpenSession(). .
[in]dwOpTipo da operação. Deverá ser 0.
[in]pbInDataDados de entrada para a geração do token. Deverá ser utilizada a estrutura SVAULT_GEN_TOKEN.
[out]pbTokenBlobBuffer que conterá o token blob. Passar um buffer de tamanho D_SVAULT_TOKEN_BLOB_LEN na entrada. pdwTokenBlobLen conterá o tamanho do buffer de saída. O token blob protege o secret e seus metadados. Este buffer deverá ser guardado e utilizado na chamada à DSVaultGetData() para posterior recuperação do secret ou token.
[in,out]pdwTokenBlobLenTamanho de pbTokenBlob. Na entrada conterá o tamanho total do buffer pbTokenBlob e na saída conterá o tamanho dos dados copiados em pbTokenBlob.
[out]szTokenString de tamanho D_SVAULT_MAX_TL + 1 que conterá o token gerado. Pode ser passado NULL para não recuperar o token gerado. O token poderá ser recuperado novamente utilizando a API DSVaultGetData().
[in]dwReservedReservado para uso futuro (deve ser 0).
Retorna
0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
Veja também
DSVaultGetData().
Exemplos
tokenization.c.

◆ DSVaultGetData()

int AAP_API DSVaultGetData ( HSESSIONCTX hSession,
DWORD dwOp,
const char * szMK,
const char * szMask,
BYTE * pbTokenBlob,
DWORD dwTokenBlobLen,
char * szData,
DWORD * pdwDataLen,
DWORD dwReserved )

#include <dinamo.h>

Recupera o secret ou token um dado tokenizado utilizando um token blob. Esta API também permite a recuperação do secret ou token mascarados.

Parâmetros
[in]hSessionContexto adquirido através da função DOpenSession(). .
[in]dwOpTipo da operação. Poderá ser uma das opções abaixo.
Valor Significado
D_SVAULT_GET_OP_SECRET Recupera o secret.
D_SVAULT_GET_OP_TOKEN Recupera o token.
[in]szMKNome da chave utilizada para a proteção do dados.
[in]szMaskPadrão de máscara que será aplicado ao secret ou token, de acordo com o definido na geração do token blob em DSVaultGenToken(). Buffer com tamanho mínimo de D_SVAULT_MIN_TL e máximo de D_SVAULT_MAX_TL contendo a máscara. Pode ser NULL para não utilizar mascaramento. A máscara é uma string UTF-8 que contém os caracteres que serão aplicados sobre os dados fazendo o mascaramento do mesmo. Passe '\0' nas posições onde queira que o dado seja apresentado. Veja as observações para exemplos.
[in]pbTokenBlobBuffer de tamanho D_SVAULT_TOKEN_BLOB_LEN, gerado pela API DSVaultGenToken(), contendo o token blob.
[in]dwTokenBlobLenBuffer de tamanho máximo de D_SVAULT_TOKEN_BLOB_LEN, gerado pela API DSVaultGenToken(), contendo o token blob.
[out]szDataString que conterá o token ou o secret de acordo com o especificado em dwOp. Pode-se utilizar um tamanho de D_SVAULT_MAX_TL + 1 para cobrir todos os cados atuais.
[in,out]pdwDataLenTamanho da string szData. Deverá conter o tamanho de szData e no retorno da API conterá o tamanho total dos dados copiados.
[in]dwReservedReservado para uso futuro (deve ser 0).
Retorna
0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
Anotações
Exemplos de uso de máscara. Neste exemplo utilizaremos um secret com valor "123456789".

Utilizando a máscara "***" teremos o seguinte resultado.

"***456789"

Aplicando a máscara "9999" teremos o seguinte resultado.

"999956789"

Aplicando a máscara "***\0\0\0***" teremos o seguinte resultado.

"***456***"
Veja também
DSVaultGenToken().
Exemplos
tokenization.c.