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

Example of CVV generation and verification.

See Note on examples.
using System;
using System.IO;
using Dinamo.Hsm;
namespace EFTGenVerifyCVV
{
class Program
{
static void Main(string[] args)
{
string address = "127.0.0.1";
string user = "master";
string pass = "12345678";
/*
Conecta ao HSM
*/
hsm.Connect(address, user, pass);
/*
Importa chave de testes
*/
string keyId = "cvk";
byte[] keyData = {0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10};
IntPtr keyHandle = hsm.ImportKey(keyId, IntPtr.Zero, keyData,
DinamoClient.BLOB_TYPE.PLAINTEXTKEY_BLOB,
DinamoClient.KEY_ALG.ALG_3DES_112);
/*
Gera um CVV
Este teste gera o CVV 561.
*/
string pan ="4123456789012345";
string expirationDate ="8701";
string serviceCode ="101";
string cvv = hsm.GenCVV(keyId, pan, expirationDate, serviceCode);
Console.WriteLine("cvv: {0}", cvv);
bool isValidCvv = hsm.VerifyCVV(keyId, pan, expirationDate,
serviceCode, cvv);
Console.WriteLine("cvv is {0}!", isValidCvv ? "valid" : "invalid");
/*
Libera handle, remove chave e desconecta
*/
hsm.DestroyKey(keyHandle);
hsm.RemoveObject(keyId);
hsm.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
BLOB_TYPE
Definição DinamoClient.cs:449
string GenCVV(string keyId, string pan, string expirationDate, string serviceCode)
Gera um CVV (Card Verification Value), CVV2 ou iCVV utilizando uma chave dentro do HSM....
Definição DinamoClient.cs:4339
bool VerifyCVV(string keyId, string pan, string expirationDate, string serviceCode, string cvv)
Verifica um CVV (Card Verification Value), , CVV2 ou iCVV utilizando uma chave dentro do HSM....
Definição DinamoClient.cs:4364
void DestroyKey(IntPtr hKey)
Libera handle de chave.
Definição DinamoClient.cs:1953
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