NET API
HSM Dinamo
Cargando...
Buscando...
No se han encontrado entradas
eft_verify_pinblock.cs

Ejemplo de verificación de bloque de PIN.

Véase la nota sobre ejemplos.
usando System;
usando System.IO;
utilizando Dinamo.Hsm;
namespace EFTVerifyPINBlock
{
clase Programa
{
static void Main(string[] args)
{
cadena dirección = "127.0.0.1";
string usuario = "maestro";
cadena pass = "12345678";
DinamoClient hsm = nuevo DinamoClient();
/*
Se conecta al HSM
*/
hsm.Conectar(dirección, usuario, pass);
/*
Importar claves de prueba, PGK y PTK.
*/
cadena pgk = "pgk";
byte[] pgkKeyData = {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 pgkHandle = hsm.ImportKey(pgk, IntPtr.Zero, pgkKeyData,
DinamoClient.BLOB_TYPE.PLAINTEXTKEY_BLOB,
DinamoClient.KEY_ALG.ALG_3DES_168);
cadena ptk = "ptk";
byte[] ptkKeyData = {0x4F, 0xDA, 0x0D, 0xE0, 0x7F, 0xCE, 0xD9, 0x58,
0xB5, 0x45, 0x4C, 0x25, 0xE3, 0xBA, 0xF4, 0x13,
0x16, 0xFD, 0x19, 0x0B, 0x31, 0xBF, 0xAD, 0x54 };
IntPtr ptkHandle = hsm.ImportKey(ptk, IntPtr.Zero, ptkKeyData,
DinamoClient.BLOB_TYPE.PLAINTEXTKEY_BLOB,
DinamoClient.KEY_ALG.ALG_3DES_168);
/*
Comprobar un PINBlock
*/
byte[] pinblock = {0x5B, 0xFC, 0x77, 0x9A, 0x3A, 0x52, 0x60, 0xAA };
cadena pan ="4987654321098765";
cadena offset = "3152";
bool isValidPIN = hsm.VerifyPINBlock(ptk, pgk, pan, offset, pinblock);
Console.WriteLine("PIN is {0}!", isValidPIN ? "valid" : "invalid");
/*
Suelte la manivela, retire la llave y desconecte
*/
hsm.DestroyKey(pgkHandle);
hsm.DestroyKey(ptkHandle);
hsm.RemoveObject(pgk);
hsm.RemoveObject(ptk);
hsm.Disconnect();
}
}
}
Clase API para acceder a las funcionalidades del HSM Dinamo. En esta clase se puede programar utilizando...
Definición DinamoClient.cs:93
CLAVE_ALG
Definición DinamoClient.cs:227
TIPO_LOB
Definición DinamoClient.cs:449
bool VerifyPINBlock(cadena ptk, cadena pgk, cadena pan, cadena offset, byte[] pinblock)
Comprueba la validez de un PIN en un bloque de PIN. Primero se extrae el PIN del Bloque PIN con la clave PTK....
Definición DinamoClient.cs:4453
void DestroyKey(IntPtr hKey)
Suelte la palanca de la llave.
Definición DinamoClient.cs:1953
IntPtr ImportKey(string KeyId, IntPtr hKeyEncryptionKey, byte[] byKeyBlob, BLOB_TYPE BlobType, KEY_ALG AlgId)
Definición DinamoClient.cs:2668
void RemoveObject(cadena ObjectId)
Elimina un objeto del HSM.
Definición DinamoClient.cs:2397
void Conectar(cadena Usuario, cadena Contraseña)
Establece una conexión cifrada con el HSM utilizando los ajustes de equilibrio de carga.
Definición DinamoClient.cs:562
void Desconectar(bool flagCerrar)
Finaliza la conexión con el HSM.
Definición DinamoClient.cs:814
Espacio de nombres que denota un conjunto de funciones para acceder al HSM Dinamo y sus respectivas excepciones.
Definición DinamoClient.cs:12