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

Ejemplo de uso de la generación HMAC.

Véase la nota sobre ejemplos.
usando System;
using System.Collections.Generic;
usando System.IO;
using System.Linq;
usando System.Text;
usando System.Threading.Tasks;
usando Dinamo;
utilizando Dinamo.Hsm;
namespace GenerarMAC
{
clase Programa
{
static void Main(string[] args)
{
cadena dirección = "10.0.0.1";
string usuario = "maestro";
cadena pass = "12345678";
DinamoClient din = nuevo DinamoClient();
//Conecta ao HSM
din.Connect(address, user, pass);
cadena hmacKeyName = "hmac_key";
Console.Out.WriteLine("Generate HMAC key:\n {0}", hmacKeyName);
din.RemoveObject(hmacKeyName);
din.GenerateKey(hmacKeyName, DinamoClient.KEY_ALG.ALG_HMAC_SHA2_256, true);
byte []mensaje1 = nuevo byte[]
{
0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38
};
byte []mensaje2 = nuevo byte[]
{
0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
};
Console.Out.WriteLine("Generar HMAC en una llamada.\n");
byte[] hmac = din.generateMAC(DinamoClient.HASH_ALG.ALG_HMAC_SHA2_256, hmacKeyName, message1);
Console.Out.WriteLine("hmac: {0}\n", BitConverter.ToString(hmac).Replace("-", string.Empty));
Console.Out.WriteLine("Generar HMAC en múltiples llamadas.\n");
din.initMAC(DinamoClient.HASH_ALG.ALG_HMAC_SHA2_256, hmacKeyName);
din.updateMAC(message1);
din.updateMAC(mensaje2);
byte[] hmac2 = din.endMAC();
Console.Out.WriteLine("hmac2: {0}\n", BitConverter.ToString(hmac2).Replace("-", string.Empty));
din.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
HASH_ALG
Algoritmo hash para firmas.
Definición DinamoClient.cs:137
void initMAC(HASH_ALG AlgId, String KeyId, int Flags)
Inicializa una operación MAC por partes. Debe finalizarse con endMAC.
Definición DinamoClient.cs:3824
byte[] generateMAC(HASH_ALG AlgId, String KeyId, byte[] Data, int Flags)
Genera un MAC en una sola llamada.
Definición DinamoClient.cs:3797
byte[] endMAC()
Finaliza una operación MAC.
Definición DinamoClient.cs:3859
void updateMAC(byte[] Datos)
Actualiza una operación MAC con más datos.
Definición DinamoClient.cs:3848
IntPtr GenerateKey(cadena KeyId, DinamoClient.KEY_ALG Alg, bool Exportable)
Genera una clave permanente en el HSM.
Definición DinamoClient.cs:1891
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
Definición DinamoClient.cs:12