NET API
HSM Dinamo
Loading...
Looking for...
No entries found
generate_hmac_lau.cs

Example of using HMAC generation with Swift Local Authentication (LAU).

See Note on examples.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dinamo;
using Dinamo.Hsm;
namespace GenerateMAC
{
class Program
{
static void Main(string[] args)
{
string address = "10.0.0.1";
string user = "master";
string pass = "12345678";
din.Connect(address, user, pass);
string hmacKeyName = "hmac_key";
Console.Out.WriteLine("Generate HMAC key: {0}\n", hmacKeyName);
din.RemoveObject(hmacKeyName);
byte[] hmacKeyData = Encoding.ASCII.GetBytes("LEFTLAUCSHARPNETRIGHTLAUSWIFTRJE");
din.ImportKey(hmacKeyName, IntPtr.Zero, hmacKeyData,
DinamoClient.BLOB_TYPE.PLAINTEXTKEY_BLOB,
DinamoClient.KEY_ALG.ALG_HMAC_SHA2_256);
String message = @"{1:F01BANKAEBBAXXX0004000001}{2:I999BANKAEBBXXXXN}{4:
:20:LAUTEST1
:79:THIS IS EXAMPLE1 FOR LAU TEST RJE CSHARP
-}";
Console.Out.WriteLine("Generate HMAC in one call.\n");
byte[] hmac = din.generateMAC(DinamoClient.HASH_ALG.ALG_HMAC_SHA2_256,
hmacKeyName, Encoding.ASCII.GetBytes(message));
Console.Out.WriteLine("hmac: {0}\n", BitConverter.ToString(hmac).Replace("-", string.Empty));
din.Disconnect();
}
}
}
Classe de API para acesso às funcionalidades do HSM Dinamo. Nessa classe é possível programar utiliza...
Definição DinamoClient.cs:93
KEY_ALG
Definição DinamoClient.cs:227
HASH_ALG
Algoritmo de Hash para assinatura.
Definição DinamoClient.cs:137
BLOB_TYPE
Definição DinamoClient.cs:449
byte[] generateMAC(HASH_ALG AlgId, String KeyId, byte[] Data, int Flags)
Gera um MAC em apenas uma chamada.
Definição DinamoClient.cs:3797
IntPtr ImportKey(string KeyId, IntPtr hKeyEncryptionKey, byte[] byKeyBlob, BLOB_TYPE BlobType, KEY_ALG AlgId)
Definição DinamoClient.cs:2668
void RemoveObject(string ObjectId)
Remove um objeto do HSM.
Definição DinamoClient.cs:2397
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 DinamoClient.cs:12