NET API
HSM Dinamo
Todos Estruturas de dados Namespaces Arquivos Funções Variáveis Enumerações Enumeradores Propriedades Grupos Páginas
atoken.cs

Example of the use of Access Tokens.

See Note on examples.
using Dinamo.Hsm;
using System;
using System.Text;
using System.IO;
namespace ATokenExample
{
class Program
{
private static String strAddr = "127.0.0.1";
private static String strUsrId = "master";
private static String strPwd = "12345678";
static void Main(string[] args)
{
DinamoClient atokenApi = new DinamoClient();
try {
/*
Conecta no HSM
*/
api.Connect(strAddr, strUsrId, strPwd);
/*
Cria um AToken sem limite de tempo e outro com expiração
de 1 hora.
*/
string atokenInfinite = api.IssueAToken(DinamoApi.DN_A_TOKEN_INFINITE);
Console.Out.WriteLine("Access token criado com sucesso!");
DateTime dt = DateTime.UtcNow.AddHours(1);
Console.WriteLine("Expiração: " + dt.ToString());
string atokenExpiring = api.IssueAToken(dt);
/*
Conecta e desconecta usando o AToken
*/
atokenApi.ConnectToken(strAddr, strUsrId, atokenInfinite);
atokenApi.Disconnect(true);
Console.Out.WriteLine("Teste de conexão executado com sucesso!");
uint atokenCounter = api.GetATokenCounter();
Console.Out.WriteLine("Contador de ATokens: " + atokenCounter);
/*
Lista os ATokens
*/
Console.Out.WriteLine("Lista de ATokens:");
foreach (DinamoApi.DN_A_TOKEN_FULL atokenFull in atokenList)
{
Console.Out.WriteLine("\tToken: " +
atokenFull.GetFormattedAToken() +
" Usuário: " +
atokenFull.stAToken.pcUserName +
" Expiração: " +
(atokenFull.IsInfiniteExpirationDate() ?
"infinito" : atokenFull.GetUtcExpirationDate().ToString()));
}
/*
Executa o Garbage Collector de ATokens do HSM
*/
api.RunATokenGC();
Console.Out.WriteLine("Access tokens GC executado com sucesso!");
/*
Revoga o AToken
*/
api.RevokeAToken(atokenInfinite);
api.RevokeAToken(atokenExpiring);
Console.Out.WriteLine("Access tokens revogados com sucesso!");
} catch (DinamoException e) {
Console.Out.WriteLine(e.Message);
} finally{
/*
Desconecta do HSM
*/
api.Disconnect();
}
}
}
}
Classe de baixo nível para acesso ao HSM. Para utilizar essa classe é necessário o entendimento mais ...
Definição DinamoApi.cs:15
const ulong DN_A_TOKEN_INFINITE
Definição DinamoApi.cs:1155
Classe de API para acesso às funcionalidades do HSM Dinamo. Nessa classe é possível programar utiliza...
Definição DinamoClient.cs:93
Classe de Excecao para erros do Dinamo.
Definição DinamoException.cs:10
override string Message
Definição DinamoException.cs:42
void RunATokenGC()
Executa o Garbage Collector de tokens de sessão do HSM. Este método faz a limpeza de todos os Access ...
Definição DinamoClient.cs:1492
uint GetATokenCounter()
Recupera o contador de Access Tokens de todo o HSM.
Definição DinamoClient.cs:1505
DinamoApi.DN_A_TOKEN_FULL[] ListATokenFull()
Lista os Access Tokens de sessão do usuário no HSM.
Definição DinamoClient.cs:1368
string IssueAToken(ulong expiration)
Emite umAccess Token de sessão do usuário no HSM.Esta funcionalidade é indicada para o controle granu...
Definição DinamoClient.cs:1308
void RevokeAToken(string aToken)
Revoga um token de autenticação do HSM.
Definição DinamoClient.cs:1341
void ConnectToken(string User, string Token)
Estabelece uma conexão com o HSM usando um token temporário emitido pelo usuário.
Definição DinamoClient.cs:747
void Connect(string User, string Password)
Estabelece uma conexão cifrada com o HSM utilizando as configurações de load balance.
Definição DinamoClient.cs:562
void Disconnect(bool flagClose)
Encerra a conexão com o HSM.
Definição DinamoClient.cs:814
Namespace que denota um conjunto de funções para acesso ao HSM Dinamo e suas respectivas exceptions.
Definição DinamoClient.cs:12
Definição DinamoApi.cs:1580