Gerencia de usuários do HSM. Mais...

Definições de Tipos

typedef int(AAP_APIfuncListUsersCallback) (char *szUserName, void *pParam, BOOL bFinal)
 

Funções

int AAP_API DCreateUser (HSESSIONCTX hSession, struct USER_INFO userInfo)
 
int AAP_API DRemoveUser (HSESSIONCTX hSession, char *szUserId)
 
int AAP_API DSetUserParam (HSESSIONCTX hSession, DWORD dwParam, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
 
int AAP_API DGetUserParam (HSESSIONCTX hSession, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
 
int AAP_API DListUsers (HSESSIONCTX hSession, funcListUsersCallback fncallback, void *pParam)
 
int AAP_API DAssignToken (const HSESSIONCTX hSession, const char *szUserId, const DWORD dwParam, BYTE *pbData, const DWORD dwDataLen)
 
int AAP_API DUnassignToken (const HSESSIONCTX hSession, const DWORD dwParam, const char *szUserId)
 
int AAP_API DOATHResync (const HSESSIONCTX hSession, char *szUser, char *szOTP1, char *szOTP2, DWORD dwParam)
 

Descrição Detalhada

Gerencia de usuários do HSM.

Definições dos tipos

typedef int(AAP_API * funcListUsersCallback) (char *szUserName, void *pParam, BOOL bFinal)

#include <dinamo.h>

Ponteiro para função de callback para listagem de usuários.

Parâmetros
[in]szKeyNameNome do usuário.
[in]pParamPonteiro para um parâmetro passado para a função DListUsers().
[in]bFinalFlag que indica o último registro.
Retorna
0

Funções

int AAP_API DCreateUser ( HSESSIONCTX  hSession,
struct USER_INFO  userInfo 
)

#include <dinamo.h>

Cria um usuário no HSM de acordo com as informações indicadas.

Parâmetros
[in]hSessionContexto adquirido através da função DOpenSession().
[in]userInfoEstrutura contendo informações para a criação do usuário. Para mais detalhes, veja as observações.
Retorna
0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
Anotações
A máscara de autorização do usuário, contida na estrutura USER_INFO, deverá ser montada a partir da concatenação dos valores abaixo:
Valor Significado
ACL_NOP Usuário apenas com autorizações ordinárias.
ACL_OBJ_CREATE Permissão para criar objetos. A permissão de leitura (ACL_OBJ_READ) é atribuída implicitamente.
ACL_OBJ_DEL Permissão para remover objetos. A permissão de leitura (ACL_OBJ_READ) é atribuída implicitamente.
ACL_OBJ_READ Permissão para ler o conteúdo de objetos.
ACL_OBJ_UPDATE
ACL_OBJ_WRITE
Permissão para atualizar atributos dos objetos.
ACL_OBJ_UPDATE = ACL_OBJ_WRITE
ACL_USR_CREATE
ACL_USR_DELETE
Permissão para criar e remover usuários.
ACL_USR_CREATE = ACL_USR_DELETE
ACL_USR_REMOTE_LOG Permissão para receber notificações de log remota.
ACL_USR_LIST Permissão para listar usuários.
ACL_SYS_OPERATOR Permissão para operar como o usuário ‘master’.
ACL_SYS_BACKUP
ACL_SYS_RESTORE
Permissão para criar e restaurar cópias de segurança dos dados do HSM.
ACL_SYS_BACKUP = ACL_SYS_RESTORE
ACL_SYS_UDATE_HSM Permissão para atualizar o firmware.
Exemplos:
useraddremove.c.
int AAP_API DRemoveUser ( HSESSIONCTX  hSession,
char *  szUserId 
)

#include <dinamo.h>

Remove um usuário do HSM.

Parâmetros
[in]hSessionContexto adquirido através da função DOpenSession().
[in]szUserIdIdentificador do usuário 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.
Anotações
A remoção dos usuários causa também a remoção de todos os objetos que são de sua posse, o que inclui chaves e arquivos.
Atenção
Esta função deve ser usada com cautela, já que todos os objetos de posse do usuário removido também serão excluídos permanentemente do HSM. É recomendável criar uma cópia de segurança antes de executar essa função.
Exemplos:
useraddremove.c.
int AAP_API DSetUserParam ( HSESSIONCTX  hSession,
DWORD  dwParam,
BYTE pbData,
DWORD  dwDataLen,
DWORD  dwFlags 
)

#include <dinamo.h>

Altera configurações dos usuários do Dinamo.

Parâmetros
[in]hSessionContexto adquirido através da função DOpenSession().
[in]dwParamEspecifica o parâmetro da sessão que deve ser configurado e por conseqüência a estrutura de dados passados no parâmetro pbData.
Valor Significado
UP_USER_NAME Tipo de pbData: char *
Nome do usuário associado ao identificador corrente. pbData deverá ser um ponteiro para uma string que conterá o nome do usuário.
Ainda não suportado.
UP_AUTH_MASK Tipo de pbData: USER_INFO *
Máscara de bits contendo as autorizações do usuário corrente. Veja API DCreateUser().
UP_ACCESS_TYPE Tipo de pbData: DWORD
Tipo de acesso permitido para o usuário corrente.
Ainda não suportado.
UP_PASSWORD Tipo de pbDada: char *
Altera a senha do usuário corrente. pbData deve ser um ponteiro para uma string que conterá a nova senha do usuário.
UP_CERTIFICATE Tipo de pbData: USER_INFO_CERT *
A estrutura poderá ser preenchida com um certificado X.509 v3 codificado em DER ou PEM no caso de associado ao usuário corrente.
Para desassociação de token não é necessário preeencher os campos de certificado na estrutura USER_INFO_CERT.
UP_BLOCK_USR Tipo de pbDada: char *
Bloqueia o usuário especificado em pbData. pbData deve apontar para uma string contendo o usuário que deverá ser bloqueado.
UP_UNBLOCK_USR Tipo de pbDada: char *
Desbloqueia o usuário especificado em pbData. pbData deve apontar para uma string contendo o usuário que deverá ser desbloqueado.
[in]pbDataPonteiro para os dados ou estruturas especificados em dwParam.
[in]dwDataLenTamanho dos dados ou estrutura especificados em dwParam.
[in]dwFlagsReservado 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
Quando dwParam é igual a UP_PASSWORD a nova senha do usuário passa a valer assim que a função retorna, dessa maneira, todas autenticações subseqüentes devem ser feitas com o novo valor.
A máscara de autorização do usuário deverá ser montada a partir da concatenação dos valores da tabela descrita em DCreateUser().
int AAP_API DGetUserParam ( HSESSIONCTX  hSession,
DWORD  dwParam,
BYTE pbData,
DWORD pdwDataLen,
DWORD  dwFlags 
)

#include <dinamo.h>

Recupera as configurações dos usuários do Dinamo.

Parâmetros
[in]hSessionContexto adquirido através da função DOpenSession().
[in]dwParamConsulte dwParam em DSetUserParam(). A tabela abaixo descreve as flags específicas para esta API.
Valor Significado
UP_BLOCK_USR Tipo de pbData: USER_BLOCK
Estrutura que receberá os dados de bloqueio do usuário. Preencher o membro szUserId da estrutura para entrada. O membro de nBlocked será preenchido pela API.
UP_INVALID_LOGIN_ATTEMPTS Tipo de pbData: USER_BLOCK
Estrutura que receberá os dados de tentativas de login inválido do usuário. Preencher o membro szUserId da estrutura para entrada. O membro de dwAttempts será preenchido pela API. Este valor será retornado quando a opção de tentativas de login inválido for definida na política de senhas.
UP_USR_PA_STATE Tipo de pbData: USER_PA_INFO
Estrutura que receberá os dados de autorização de partição. Preencher o membro szUserId da estrutura para entrada. Os outros membros serão preenchidos pela API.
[in]pbDataPonteiro para os dados ou estruturas especificados em dwParam.
[in]pdwDataLenTamanho dos dados ou estrutura especificados em dwParam.
[in]dwFlagsReservado 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 DListUsers ( HSESSIONCTX  hSession,
funcListUsersCallback  fncallback,
void *  pParam 
)

#include <dinamo.h>

Lista os usuários do Dinamo.

Parâmetros
[in]hSessionContexto adquirido através da função DOpenSession().
[in]fncallbackPonteiro para uma função de callback usada para listar os nomes (identificadores) dos usuários.
[in]pParamPonteiro 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.
Exemplos:
useraddremove.c.
int AAP_API DAssignToken ( const HSESSIONCTX  hSession,
const char *  szUserId,
const DWORD  dwParam,
BYTE pbData,
const DWORD  dwDataLen 
)

#include <dinamo.h>

Associa um token OTP(de tempo ou evento) padrão OATH a um usuário. Após esta chamada o usuário fará autenticação apenas com usuário, senha e OTP.

Parâmetros
[in]hSessionContexto adquirido através da função DOpenSession().
[in]dwParamA seguinte tabela é aceita:
ValorSignificado
AT_OATH_TOKEN Associa um token HOTP(de evento) ao usuário. Passar OATH_SA_v1 em pbData.
AT_OATH_TOKEN_TOTP Associa um token TOTP(de tempo) ao usuário. Passar OATH_SA_v2 em pbData.
[in]szUserIdNome do usuário que terá o token associado.
[in]pbDataDados contendo os parâmetros do token. Deve ser especificado de acordo com o definido no parâmetro dwParam.
[in]dwDataLenTamanho, em bytes, dos dados passados em pbData.
Retorna
0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
Exemplos:
userOtp.c.
int AAP_API DUnassignToken ( const HSESSIONCTX  hSession,
const DWORD  dwParam,
const char *  szUserId 
)

#include <dinamo.h>

Desassocia a autenticação com OTP de um usuário. Após esta chamada o usuário fará autenticação apenas com usuário e senha.

Parâmetros
[in]hSessionContexto adquirido através da função DOpenSession().
[in]dwParamA seguinte tabela é aceita:
ValorSignificado
AT_OATH_TOKEN Desassocia um token HOTP(de evento) ou TOTP(de tempo) do usuário.
[in]szUserIdNome do usuário que terá o seu token desassociado.
[in]dwParamReservado 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.
Exemplos:
userOtp.c.
int AAP_API DOATHResync ( const HSESSIONCTX  hSession,
char *  szUser,
char *  szOTP1,
char *  szOTP2,
DWORD  dwParam 
)

#include <dinamo.h>

Re-sincroniza um token de eventos, padrão OATH, associado a um usuário do HSM. Recebe dois OTPs consecutivos, gerados pelo token, para sincronizar o estado do token no usuário do HSM.

Parâmetros
[in]hSessionContexto adquirido através da função DOpenSession().
[in]szUserNome do usuário que terá o seu token re-sincronizado.
[in]szOTP1Primeiro OTP, para sincronização, gerado pelo token.
[in]szOTP2Segundo OTP, para sincronização, gerado pelo token.
[in]dwParamReservado 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.
Exemplos:
userOtp.c.