Gerencia do HSM. Mais...
Definições e Macros | |
#define | DN_ATOKEN_CACHE_GET_COUNT (0) |
#define | DN_ATOKEN_CACHE_GC (1) |
#define | DN_LB_LIST (1) |
#define | DN_LB_LIST (1) |
Definições de Tipos | |
typedef int(AAP_API * | funcListKeyCallback) (char *szKeyName, void *pParam, BOOL bFinal) |
typedef int(AAP_API * | funcLogEventCallback) (char *szEvent, void *pParam, BOOL bFinal) |
typedef int(AAP_API * | funcReadLocalFileCallback) (BYTE *pbData, DWORD *pdwDataLen, void *pParam, BOOL *pbFinal) |
typedef int(AAP_API * | funcWriteLocalFileCallback) (BYTE *pbData, DWORD dwDataLen, void *pParam, BOOL bFinal) |
typedef int(AAP_API * | funcListAKeysCallback) (void *pvToken, void *pParam, BOOL bFinal) |
Funções | |
int AAP_API | DListObjs (HSESSIONCTX hSession, funcListKeyCallback fncallback, void *pParam ) |
int AAP_API | DBackupData (HSESSIONCTX hSession, char *szBackupFile, char *szPin, int nDirection) |
int AAP_API | DBackupObject (HSESSIONCTX hSession, DWORD dwOP, char *szObjectId, char *szPin, BYTE *pbData, DWORD *pdwDataLen, DWORD dwReserved) |
int AAP_API | DGetLogEvents (HSESSIONCTX hSession, funcLogEventCallback fncallback, void *pParam) |
int AAP_API | DAdmOperation (HSESSIONCTX hSession, DWORD dwParam, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags) |
int AAP_API | DGetHSMTLSCert (char *szAddress, int nPort, DWORD dwOutFormat, BYTE **ppbOutCert, DWORD *pdwOutCertLen, DWORD dwFlags) |
int AAP_API | DWriteFile (HSESSIONCTX hSession, char *szFileId, DWORD dwFileSize, funcReadLocalFileCallback fncallback, void *pParam) |
int AAP_API | DReadFile (HSESSIONCTX hSession, char *szFileId, funcWriteLocalFileCallback fncallback, void *pParam) |
int AAP_API | DRemoveObj (HSESSIONCTX hSession, char *szObjId) |
int AAP_API | DGetStatLog (HSESSIONCTX hSession, DWORD dwStart, DWORD dwOffset, DWORD *pdwLogSize, BYTE **ppbLog) |
int AAP_API | DTruncateLog (HSESSIONCTX hSession) |
int AAP_API | DFindHSM (DWORD dwServiceType, DWORD dwFilter, void **ppvOutputData, DWORD *pdwOutputDataLen, DWORD dwFlags) |
int AAP_API | DManageAToken (HSESSIONCTX hSession, BYTE bOP, DN_A_TOKEN_FULL *pstATokenFull, funcListAKeysCallback fnCallBack, void *pvCallbackParam, DWORD dwParam) |
int AAP_API | DManageATokenCache (HSESSIONCTX hSession, DWORD dwOP, void *pOutData, DWORD dwParam) |
Descrição Detalhada
Gerencia do HSM.
Definições e macros
#define DN_ATOKEN_CACHE_GET_COUNT (0) |
#include <dinamo.h>
#define DN_ATOKEN_CACHE_GC (1) |
#include <dinamo.h>
#define DN_LB_LIST (1) |
#include <dinamo.h>
#define DN_LB_LIST (1) |
#include <dinamo.h>
Definições dos tipos
#include <dinamo.h>
Ponteiro para função de callback para listagem de objetos.
- Parâmetros
-
[in] szKeyName Nome do objeto. [in] pParam Ponteiro para um parâmetro passado para a função DListObjs(). [in] bFinal Flag que indica o último registro.
- Retorna
- 0
#include <dinamo.h>
Ponteiro para função de callback para gravar os eventos gerados pelo servidor.
- Parâmetros
-
[in] szEvent Evento do log. [in] pParam Ponteiro para um parâmetro passado na função DgetLogEvents. [in] bFinal Indica o fim do envio de eventos.
- Retorna
- 0
typedef int(AAP_API * funcReadLocalFileCallback) (BYTE *pbData, DWORD *pdwDataLen, void *pParam, BOOL *pbFinal) |
#include <dinamo.h>
Ponteiro para função de callback para ler o arquivo a ser carregado para o HSM.
- Parâmetros
-
[in] pbData Buffer contendo os dados lidos. [in] pdwDataLen Ponteiro para um DWORD contendo o número de bytes lidos do arquivo [in] pParam Ponteiro para um parâmetro passado para a função DWriteFile(). [in] pbFinal Flag que indica o fim do arquivo.
- Retorna
- 0
typedef int(AAP_API * funcWriteLocalFileCallback) (BYTE *pbData, DWORD dwDataLen, void *pParam, BOOL bFinal) |
#include <dinamo.h>
Ponteiro para função de callback para gravar localmente o arquivo recuperado do HSM.
- Parâmetros
-
[in] pbData Buffer com os dados que serão gravados no arquivo. [in] dwDataLen Número de bytes que serão gravados. [in] pParam Ponteiro para um parâmetro passado para a função DWriteFile(). [in] bFinal Flag que indica o fim do arquivo.
- Retorna
- 0
#include <dinamo.h>
Ponteiro para função de callback para listagem de tokens de sessão em DManageAToken.
- Parâmetros
-
[in] pvToken Ponteiro que receberá uma estrutura DN_A_TOKEN_FULL que conterá os dados do token de sessão. [in] pParam Ponteiro para um parâmetro passado para a função DManageAToken(). [in] bFinal Flag que indica o último registro.
- Retorna
- 0
Funções
int AAP_API DListObjs | ( | HSESSIONCTX | hSession, |
funcListKeyCallback | fncallback, | ||
void * | pParam | ||
) |
#include <dinamo.h>
Lista os objetos armazenadas no Dinamo, entre chaves e arquivos.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession(). [in] fncallback Ponteiro para uma função de callback usada para listar os nomes (identificadores) dos objetos. [in] pParam Ponteiro para um parâmetro qualquer que será repassado à função de callback
- Retorna
- 0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
- Anotações
- As funções da API Dinamo não devem ser chamadas de dentro da função de callback (parâmetro ListObjsCallback) usando o mesmo contexto (parâmetro hSession) passado para a função DListObjs(). Quando houver necessidade dever se usar um contexto diferente.
- Exemplos:
- listkeys.c.
int AAP_API DBackupData | ( | HSESSIONCTX | hSession, |
char * | szBackupFile, | ||
char * | szPin, | ||
int | nDirection | ||
) |
#include <dinamo.h>
Cria ou restaura o backup dos objetos (chaves, certificados, etc.) gravados internamente no Dinamo.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession(). [in] szBackupFile Caminho do arquivo de backup. [in] szPin Senha de proteção do arquivo de backup. Devem ser caracteres ASCII. O tamanho deve estar entre MIN_BACKUP_PIN_LEN e MAX_BACKUP_PIN_LEN. [in] nDirection [in] Especifica a ação a ser executada. Valor Significado MAKE_BACKUP O arquivo de backup será criado, caso exista, será sobrescrito. MAKE_RESTORE_WITHOUT_NET_CONFIG Os dados de backup existentes, não incluindo parâmetros de rede, no arquivo indicado por szBackupFile serão restaurados. MAKE_RESTORE_WITH_NET_CONFIG Os dados de backup existentes, incluindo parâmetros de rede, no arquivo indicado por szBackupFile serão restaurados.
- Retorna
- 0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
- Anotações
- Essa função cria ou recupera uma cópia de segurança (backup) dos objetos armazenados no sistema para ou de um arquivo cifrado. A chave de criptografia e decriptografia é derivada da senha informada pelo usuário. Esta operação de criptografia/decriptografia é independente do modo de armazenamento do objeto no Dinamo (cifrado ou não-cifrado). A cópia de segurança é sempre cifrada. A senha utilizada na geração da cópia de segurança deverá ser usada na restauração. É possível indicar que os parâmetros de rede (endereço IP, máscara, e gateway) sejam ou não restaurados. Para restaurar arquivos grandes, acima de 2147483647 bytes é necessário que o servidor HSM esteja com a versão mínima 3.9.0.2 ou acima.
- Observação
- Objetos marcados como não exportáveis no Dinamo também serão incluídos na cópia de segurança. Esta operação não é seletiva, ou seja, todos os objetos existentes na área de armazenamento do Dinamo serão copiados.
int AAP_API DBackupObject | ( | HSESSIONCTX | hSession, |
DWORD | dwOP, | ||
char * | szObjectId, | ||
char * | szPin, | ||
BYTE * | pbData, | ||
DWORD * | pdwDataLen, | ||
DWORD | dwReserved | ||
) |
#include <dinamo.h>
Cria ou restaura o backup de um objeto específico no HSM.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession(). [in] dwOP Especifica a ação a ser executada. Valor Significado D_BACKUP_OBJ Faz o backup do objeto especificado em szObjectId
e escreve o conteúdo empbData
.pdwDataLen
deverá conter o tamanho do buffer apontado porpbData
e ao final da chamada receberá o total de bytes copiados parapbData
. CasopbData
seja NULL,pdwDataLen
receberá o tamanho do bufferpbData
necessário para acomodar o backup. Pode-se utilizar um buffer maior ou igual a D_MAX_BACKUP_OBJ_LEN para evitar uma chamada extra a esta função, apenas para recuperar o tamanho do buffer de backup necessário.D_RESTORE_OBJ Restaura o backup do objeto. szObjectId
deverá conter o nome que o objeto restaurado terá dentro do HSM.pbData
deverá conter o buffer do backup que será restaurado epdwDataLen
o tamanho depbData
.[in] szObjectId Nome do objeto dentro do HSM. [in] szPin Senha de proteção do arquivo de backup. Devem ser caracteres ASCII. O tamanho deve estar entre MIN_BACKUP_PIN_LEN e MAX_BACKUP_PIN_LEN. [in,out] pbData Buffer contento o backup do objeto. Ver opções em dwOP
para mais detalhes.[in,out] pdwDataLen Tamanho do backup. Ver opções em dwOP
para mais detalhes.[in] dwReserved Reservado 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
- Essa função cria ou recupera uma cópia de segurança (backup) de um objeto específico (uma chave por exemplo) para ou de um arquivo cifrado. A cópia de segurança é sempre cifrada com duas camadas: primeiro com a chave Server Master Key (SVMK) do HSM e segundo com a chave de criptografia derivada da senha informada pelo usuário. A senha utilizada na geração da cópia de segurança deverá ser usada na restauração.
Como o objeto saí cifrado pela SVMK, só poderá ser restaurado em HSMs Dinamo inicializados com esta mesma SVMK. Do ponto de vista de segurança o objeto contido no backup continua protegida pela fronteira criptográfica do HSM.
Linhas diferentes de modelos de HSM Dinamo podem ter métodos diferentes de derivação de SVMK a partir da semente. Os backups gerados em modelos XP e ST são interoperáveis entre si, mas não com backups de modelo Pocket.
- Observação
- O backup pode ser realizado com objetos exportáveis ou não-exportáveis e este estado é preservado na operação de
restore
. Apenas o objeto especificado emszObjectId
será incluído no backup.
int AAP_API DGetLogEvents | ( | HSESSIONCTX | hSession, |
funcLogEventCallback | fncallback, | ||
void * | pParam | ||
) |
#include <dinamo.h>
Recupera os eventos de log gerados pelo servidor.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession(). [in] fncallback Ponteiro para uma função de callback usada para gravar os eventos gerados pelo servidor. [in] pParam Ponteiro para um parâmetro qualquer que será repassado à função de callback.
- Retorna
- 0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
- Anotações
- Esta opção permite que um programa receba mensagens de log geradas internamente no Dinamo; o programa passa a receber uma cópia de todas as mensagens de log. Há um limite de 03 (três) receptores simultaneamente em modo de recebimento de notificações de eventos, para evitar degradação de desempenho do HSM. As mensagens enviadas continuam sendo gravadas no arquivo interno do servidor. O primeiro valor hexadecimal mostrado na linha de log é um timestamp e o segundo é um ID usado internamente.
- Exemplos:
- getrtlogs.c.
int AAP_API DAdmOperation | ( | HSESSIONCTX | hSession, |
DWORD | dwParam, | ||
BYTE * | pbData, | ||
DWORD | dwDataLen, | ||
DWORD | dwFlags | ||
) |
#include <dinamo.h>
Executa operações administrativas no servidor.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession(). [in] dwParam Especifica a operação que será executada e por conseqüência a estrutura ou dados passados no parâmetro pbData
.Valor Signficado AO_SHUTDOWN Tipo de pbData:
NULL
Desliga o HSM. Neste momento será preciso uma intervenção manual para que o servidor fique disponível novamente, ou seja, será preciso ligar o equipamento e inserir o cartão de operação.
Ainda não suportadoAO_RESTART Tipo de pbData:
NULL
Reinicia o HSM. Neste momento será preciso uma intervenção manual para que o servidor fique disponível novamente, ou seja, inserir o cartão de operação.
Ainda não suportado.AO_KEEPALIVE Tipo de pbData:
NULL
Executa uma simples troca de mensagens entre o cliente e o servidor a fim de manter a conexão estabelecida.AO_SET_DATE_TIME Tipo de pbData:
struct tm (time.h)
Define data e hora do HSM. Deve ser passado o horário GMT (Greenwich Mean Time) padrão (sem fuso horário).AO_SET_PWD_SEC_POLICY Tipo de pbData:
PWD_SEC_POLICY
Define os parâmetros da política de segurança do HSM.AO_GET_PWD_SEC_POLICY Tipo de pbData:
PWD_SEC_POLICY
Recupera os parâmetros da política de segurança do HSM.AO_SET_TLS_BUNDLE Tipo de pbData:
TLS_BUNDLE_INFO
Define a chave e certificado que serão utilizados pelo TLS do HSM.[in] pbData Ponteiro para os dados ou estruturas especificados em dwParam
.[in] dwDataLen Tamanho dos dados ou estrutura especificados em dwParam
.[in] dwFlags Deve ser 0 ou algum dos valores abaixo. Valor Signficado AO_KEEPALIVE_FLAG_NOISELESS Tipo de dwParam:
AO_KEEPALIVE
Faz com que a operação de keep alive não gere logs no HSM.
- Retorna
- 0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
- Anotações
- A opção AO_KEEPALIVE executa um teste para indicação de ‘vida’ (heartbeat) do serviço do Dinamo. O resultado positivo a este teste mostra que o HSM está processando corretamente as requisições de clientes e seu estado interno é consistente e íntegro. Pode ser usado por exemplo pelas equipes de monitoração e suporte para indicação de status OK do Dinamo.
- Exemplos:
- connecthsm.c.
int AAP_API DGetHSMTLSCert | ( | char * | szAddress, |
int | nPort, | ||
DWORD | dwOutFormat, | ||
BYTE ** | ppbOutCert, | ||
DWORD * | pdwOutCertLen, | ||
DWORD | dwFlags | ||
) |
#include <dinamo.h>
Recupera o certificado do HSM utilizado no TLS.
- Parâmetros
-
[in] szAddress Endereço do HSM. [in] nPort Porta de acesso ao HSM. A porta padrão é DEFAULT_PORT. [in] dwOutFormat Formato de saída do certificado. Valor Signficado CERT_OUT_DER Exporta o certificado do servidor no formato X.509 DER. CERT_OUT_DER Exporta o certificado do servidor no formato X.509 PEM. [in] ppbOutCert Ponteiro de ponteiro com o certificado no formato especificado em dwOutFormat. Este ponteiro deve ser liberado com DFree. [in] pdwOutCertLen Tamanho do certificado apontado em ppbOutCert
.[in] dwFlags Reservado 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.
int AAP_API DWriteFile | ( | HSESSIONCTX | hSession, |
char * | szFileId, | ||
DWORD | dwFileSize, | ||
funcReadLocalFileCallback | fncallback, | ||
void * | pParam | ||
) |
#include <dinamo.h>
Importa um arquivo para dentro do HSM.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession(). [in] szFileId Identificador do novo arquivo dentro do HSM. [in] dwFileSize Tamanho do arquivo a ser carregado. [in] fncallback Ponteiro para uma função de callback usada para ler o arquivo a ser carregado. [in] pParam Ponteiro para um parâmetro qualquer que será repassado à função de callback.
- Retorna
- 0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
- Anotações
- O arquivo gravado é opaco para o HSM e não será cifrado internamente e será sempre um objeto exportável.
O tamanho máximo por arquivo aceito pelo HSM é de 512kb.
Os arquivos enviados para o HSM, descritos na tabela abaixo, terão seus tipos detectados automaticamente.
Tipo Formato Certificados X.509 DER CRL(Certificate Revocation List) ou LCR(Lista de Certificados Revogados) DER Cadeias de certificados PKCS#7 DER
int AAP_API DReadFile | ( | HSESSIONCTX | hSession, |
char * | szFileId, | ||
funcWriteLocalFileCallback | fncallback, | ||
void * | pParam | ||
) |
#include <dinamo.h>
Exporta uma arquivo do HSM.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession(). [in] szFileId Identificador do arquivo dentro do HSM. [in] fncallback Ponteiro para uma função de callback usada para gravar o arquivo recuperado. [in] pParam Ponteiro para um parâmetro qualquer que será repassado à função de callback.
- Retorna
- 0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
- Anotações
- Esta API não deve ser usada para exportação de chaves.
int AAP_API DRemoveObj | ( | HSESSIONCTX | hSession, |
char * | szObjId | ||
) |
#include <dinamo.h>
Remove um objeto armazenado no Dinamo, seja ele uma chave ou um arquivo.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession(). [in] szObjId Identificador do objeto dentro do HSM. Este identificador não deve conter espaços ou caracteres especiais. Caracteres maiúsculos e minúsculos são diferenciados (case-sensitive).
- Retorna
- 0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
- Exemplos:
- genecdh.c.
int AAP_API DGetStatLog | ( | HSESSIONCTX | hSession, |
DWORD | dwStart, | ||
DWORD | dwOffset, | ||
DWORD * | pdwLogSize, | ||
BYTE ** | ppbLog | ||
) |
#include <dinamo.h>
Recupera o conteúdo do log do servidor.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession(). [in] dwStart Posição inicial, em bytes, do log a ser recuperado. Para receber todo o conteúdo do log indique GET_LOG_START_FULL. [in] dwOffset Quantidade, em bytes, a ser recuperada a partir da posição inicial indicada por dwStart
. Para receber todo o conteúdo do log indique GET_LOG_END_FULL .[out] pdwLogSize Ponteiro para DWORD que irá conter a quantidade, em bytes, do log recuperado. [out] ppbLog Ponteiro para ponteiro que irá conter o log recuperado do servidor. A alocação de memória é feita internamente pela biblioteca. A aplicação chamadora é responsável por liberar a memória alocada. Consulte a função DFree().
- Retorna
- 0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
- Veja também
- DGetStatLogSize(), DTruncateLog()
- Exemplos:
- downloadlog.c.
int AAP_API DTruncateLog | ( | HSESSIONCTX | hSession | ) |
#include <dinamo.h>
Permite apagar o conteúdo do log do servidor.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession().
- Retorna
- 0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
- Veja também
- DGetStatLogSize(), DGetStatLog()
int AAP_API DFindHSM | ( | DWORD | dwServiceType, |
DWORD | dwFilter, | ||
void ** | ppvOutputData, | ||
DWORD * | pdwOutputDataLen, | ||
DWORD | dwFlags | ||
) |
#include <dinamo.h>
Busca, utilizando protocolo SLP via multicast, os HSMs disponíveis na rede.
- Parâmetros
-
[in] dwServiceType Define o tipo de serviço do HSM que será procurado. Valor Signficado DN_FIND_SRVC_TYPE_IP Lista todos os serviços tipo IP encontrados. Lista todas as interfaces IP disponíveis. O mesmo HSM pode ser listado mais de uma vez com IPs diferentes. O valor de dwFilter
deve ser DN_FIND_FILTER_TYPE_ALL.DN_FIND_SRVC_TYPE_AAP Lista todos os serviços tipo AAP encontrados. Lista todos os HSMs que estejam com o serviço executando. DN_FIND_SRVC_TYPE_ALL Lista todos os tipos de serviço. [in] dwFilter Define o tipo de filtro a ser utilizado na busca. Valor Signficado DN_FIND_FILTER_TYPE_POCKET Lista todos os HSMs Pocket encontrados. DN_FIND_FILTER_TYPE_HSM Lista todos os HSM DINAMO ST ou XP encontrados. DN_FIND_FILTER_TYPE_ALL Lista todos os HSM DINAMO ST, XP ou Pocket encontrados. [out] ppvOutputData Ponteiro de ponteiro, do tipo SLP_SRVR_INFO, que irá conter a lista de HSMs encontrados. A alocação de memória é feita internamente pela biblioteca. A aplicação chamadora é responsável por liberar a memória alocada. Consulte a função DFree(). [out] pdwOutputDataLen Ponteiro para DWORD que irá conter a quantidade de estruturas (descritas em dwOutputType
) retornadas emppvOutputData
.[in] dwFlags Reservado 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
- A busca é feita utilizando protocolo SLP (Service Location Protocol) via multicast. Todos os HSMs que se encontrarem acessíveis e com o serviço executando poderão aparecer nesta lista.
int AAP_API DManageAToken | ( | HSESSIONCTX | hSession, |
BYTE | bOP, | ||
DN_A_TOKEN_FULL * | pstATokenFull, | ||
funcListAKeysCallback | fnCallBack, | ||
void * | pvCallbackParam, | ||
DWORD | dwParam | ||
) |
#include <dinamo.h>
Gerencia tokens de sessão (Access Tokens) do próprio usuário do HSM.
Ver mais detalhes em Anotações.
Sobre autenticação usando tokens de sessão consulte a função DOpenSession() com a opção SS_ATOKEN.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession(). [in] bOP Especifica a operação que será executada. Valor Signficado DN_A_TOKEN_OP_ISSUE Emite um token de sessão. Preencher o parâmetro qwExpiration
de entrada empstATokenFull
, que no retorno da API receberá o token emitido. Passar NULL emfnCallBack
epvCallbackParam
.DN_A_TOKEN_OP_REVOKE Revoga um token de sessão, caso ele exista. Preencher o parâmetro Key
de entrada empstATokenFull
. Passar NULL emfnCallBack
epvCallbackParam
.DN_A_TOKEN_OP_LIST Lista todos tokens ativos deste usuário. Deve ser passado a função de callback em fnCallBack
. Passar NULL empstATokenFull
;[in,out] pstATokenFull Ponteiro para uma estrutura do tipo DN_A_TOKEN_FULL. Ver opção de bOP
para instruções de preenchimento da estrutura.[in] fnCallBack Ponteiro para a função de callback do tipo funcListAKeysCallback. Pode ser NULL. Ver opção de bOP
para instruções de preenchimento da estrutura.[in] pvCallbackParam Ponteiro para um parâmetro qualquer que será repassado à função de callback. Pode ser NULL. [in] dwParam Reservado 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
- Os Access Tokens são mantidos de forma volátil, e desta maneira são apagados quando o HSM é reiniciado. Apesar de serem voláteis, os Access Tokens são replicados entre HSMs.
O limite máximo de Access Tokens emitidos por HSM pode ser visto na tabela abaixo.Modelo Limite máximo Pocket 1024 XP 1 Milhão ST 1 Milhão
Esta operação está disponível à partir da vesão 3.18 do firmware do HSM. A implementação de Access Tokens anterior à versão 3.18 do firmware é legada.
As aplicações, que utilizam esta funcionalidade, deverão atualizar o cliente do HSM para a versão 3.2.18 ou superior, juntamente com o firmware do HSM para a versão 3.18 ou superior.
Não há compatibilidade entre versões novas e antigas de cliente e firmware do HSM.
int AAP_API DManageATokenCache | ( | HSESSIONCTX | hSession, |
DWORD | dwOP, | ||
void * | pOutData, | ||
DWORD | dwParam | ||
) |
#include <dinamo.h>
Gerencia o cache dos tokens de sessão (Access Tokens) de todo HSM. Esta funcionalidade é indicada para o controle granular de autenticação de aplicações, onde a emissão de tokens é gerenciada pelo security officer. O limite máximo de Access Tokens emitidos por HSM é de 4096 tokens. Sobre autenticação usando tokens de sessão consulte a função DOpenSession() com a opção SS_ATOKEN.
- Parâmetros
-
[in] hSession Contexto adquirido através da função DOpenSession(). [in] dwOP Especifica a operação que será executada. Valor Signficado DN_ATOKEN_CACHE_GET_COUNT Recupera a quantidade de tokens de sessão de todo HSM. Passar em pOutData
um DWORD que receberá a quantidade total de tokens de sessão do HSM.DN_ATOKEN_CACHE_GC Executa o Garbage Collector de tokens de sessão do HSM. Passar NULL em pOutData
.[out] pOutData Dados de saída. Ver opções de uso em dwOP
.[in] dwParam Reservado 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
- Esta operação está disponível à partir da vesão 3.18 do firmware do HSM e a partir da versão 3.2.18 do cliente do HSM.