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 {
/*
Connect to HSM
*/
api.Connect(strAddr, strUsrId, strPwd);
/*
Creates an AToken with no time limit and one with an expiration date
of 1 hour.
*/
string atokenInfinite = api.IssueAToken(DinamoApi.DN_A_TOKEN_INFINITE);
Console.Out.WriteLine("Access token created successfully!");
DateTime dt = DateTime.UtcNow.AddHours(1);
Console.WriteLine("Expiration: " + dt.ToString());
string atokenExpiring = api.IssueAToken(dt);
/*
Connect and disconnect using AToken
*/
atokenApi.ConnectToken(strAddr, strUsrId, atokenInfinite);
atokenApi.Disconnect(true);
Console.Out.WriteLine("Connection test executed successfully!");
uint atokenCounter = api.GetATokenCounter();
Console.Out.WriteLine("ATokens counter: " + atokenCounter);
/*
List the ATokens
*/
Console.Out.WriteLine("List of ATokens:");
foreach(DinamoApi.DN_A_TOKEN_FULL atokenFull in atokenList)
{
Console.Out.WriteLine("\tToken: " +
atokenFull.GetFormattedAToken() +
" User: " +
atokenFull.stAToken.pcUserName +
" Expiration: " +
(atokenFull.IsInfiniteExpirationDate() ?
"infinite": atokenFull.GetUtcExpirationDate().ToString());
}
/*
Runs the HSM ATokens Garbage Collector
*/
api.RunATokenGC();
Console.Out.WriteLine("Access tokens GC successfully executed!");
/*
Repeals the AToken
*/
api.RevokeAToken(atokenInfinite);
api.RevokeAToken(atokenExpiring);
Console.Out.WriteLine("Access tokens successfully revoked!");
} catch (DinamoException e) {
Console.Out.WriteLine(e.Message);
} finally{
/*
Disconnects from HSM
*/
}
}
}
}
Low-level class for accessing the HSM. To use this class you need to understand more ...
Definition DinamoApi.cs:15
const ulong DN_A_TOKEN_INFINITE
Definition DinamoApi.cs:1141
API class for accessing HSM functionalities Dinamo. In this class you can program using...
Definition DinamoClient.cs:93
Exception class for errors from Dinamo.
Definition DinamoException.cs:10
override string Message
Definition DinamoException.cs:42
void RunATokenGC()
Runs the Garbage Collector for HSM session tokens. This method cleans up all Access ...
Definition DinamoClient.cs:1492
uint GetATokenCounter()
Recovers the Access Token counter for the entire HSM.
Definition DinamoClient.cs:1505
DinamoApi.DN_A_TOKEN_FULL[] ListATokenFull()
Lists the user's Access Tokens in the HSM.
Definition DinamoClient.cs:1368
string IssueAToken(ulong expiration)
It issues an Access Token for the user's session in the HSM. This functionality is suitable for large-scale control of...
Definition DinamoClient.cs:1308
void RevokeAToken(string aToken)
Revoke an HSM authentication token.
Definition DinamoClient.cs:1341
void ConnectToken(string User, string Token)
Establishes a connection with the HSM using a temporary token issued by the user.
Definition DinamoClient.cs:747
void Connect(string User, string Password)
Establishes an encrypted connection to the HSM using the load balance settings.
Definition DinamoClient.cs:562
void Disconnect(bool flagClose)
Terminates the connection to the HSM.
Definition DinamoClient.cs:814
Namespace denoting a set of functions for accessing the HSM Dinamo and their respective exceptions.
Definition DinamoClient.cs:12
Definition DinamoApi.cs:1566