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

Exemplo de geração de PIN.

Veja Nota sobre os exemplos.
using System;
using System.IO;
using Dinamo.Hsm;
namespace EFTGenPIN
{
class Program
{
static void Main(string[] args)
{
string address = "127.0.0.1";
string user = "master";
string pass = "12345678";
DinamoClient hsm = new DinamoClient();
/*
Conecta ao HSM
*/
hsm.Connect(address, user, pass);
/*
Importa chave de testes
*/
string pgk = "pgk";
byte[] keyData = {0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23,
0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23,
0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23};
IntPtr keyHandle = hsm.ImportKey(pgk, IntPtr.Zero, keyData,
DinamoClient.BLOB_TYPE.PLAINTEXTKEY_BLOB,
DinamoClient.KEY_ALG.ALG_3DES_168);
/*
Gera um PIN
*/
string pan ="4123456789012345";
int outPinLen = 4;
DinamoClient.PinComponents pinData = hsm.GenPIN(pgk, pan,
DinamoClient.GenPINOperation.RANDOM_PIN,
outPinLen, null);
Console.WriteLine("pin: {0} offset: {1}", pinData.pin, pinData.offset);
/*
Libera handle, remove chave e desconecta
*/
hsm.DestroyKey(keyHandle);
hsm.RemoveObject(pgk);
hsm.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