NET API
HSM Dinamo
Loading...
Looking for...
No entries found
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:1143
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:1568