API .Net HSM Dinamo
API Proprietária .Net do HSM Dinamo
atoken.cs

Exemplo de uso de Access Tokens.

Veja Nota sobre os exemplos.
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 api = new DinamoClient();
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
*/
DinamoApi.DN_A_TOKEN_FULL []atokenList = api.ListATokenFull();
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();
}
}
}
}
Namespace que denota um conjunto de funções para acesso ao HSM Dinamo e suas respectivas exceptions.
Definition: DinamoClient.cs:12
Definition: DinamoClient.cs:12