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

Ejemplo de firma utilizando el módulo blockchain.

Véase la nota sobre ejemplos.
utilizando Dinamo.Hsm;
usando System;
usando System.Text;
usando System.IO;
namespace BchainSignHash
{
clase Programa
{
private static String addr = "127.0.0.1";
private static String userId = "maestro";
private static String userPwd = "12345678";
static void Main(string[] args)
{
String keyId = "clave";
DinamoClient api = nuevo DinamoClient();
intentar {
/*
Conectar con HSM
*/
api.Connect(addr, userId, userPwd);
Console.Out.WriteLine("¡Conectado con éxito!");
/*
Genera la clave XPriv BIP-32.
*/
api. BchainCreateXPrvBip32(keyId, DinamoApi.DN_BCHAIN_VER_BIP32_MAINNET, false, false);
Console.Out.WriteLine("¡Clave generada correctamente!");
/*
Hash a firmar. Keccack-256 del texto "12345678".
Lo ideal es que el hash lo genere un software externo al HSM.
*/
var hash = new byte[] { 0xa9, 0x22, 0x4f, 0xaa, 0x7b, 0xc2, 0x36, 0x09,
0x1f, 0x61, 0x53, 0xe7, 0xce, 0x01, 0x3a, 0x1b,
0x0a, 0x2c, 0x80, 0x2c, 0x18, 0xa7, 0xce, 0xdf,
0xeb, 0x70, 0x8f, 0x21, 0x17, 0x35, 0x90, 0x32 };
/*
Firma el hash con la clave privada generada previamente.
*/
var signature = api. BchainSignHash(DinamoApi.DN_BCHAIN_SIG_DER_ECDSA,
hash, keyId);
Console.Out.WriteLine("Firma: " + BitConverter.ToString(firma));
} catch (DinamoException e) {
Console.Out.WriteLine(e.Mensaje);
} finally{
/*
Se desconecta del HSM
*/
api.Disconnect();
Console.Out.WriteLine("¡Conectado con éxito!");
}
}
}
}
Clase de bajo nivel para acceder al HSM. Para utilizar esta clase es necesario entender más ...
Definición DinamoApi.cs:15
const byte DN_BCHAIN_SIG_DER_ECDSA
Definición DinamoApi.cs:2485
const byte DN_BCHAIN_VER_BIP32_MAINNET
Definición DinamoApi.cs:2396
const byte DN_BCHAIN_HASH_KECCAK256
Definición DinamoApi.cs:2494
Clase API para acceder a las funcionalidades del HSM Dinamo. En esta clase se puede programar utilizando...
Definición DinamoClient.cs:93
Clase de excepción para errores de Dinamo.
Definición DinamoException.cs:10
override string Mensaje
Definición DinamoException.cs:42
void BchainCreateXPrvBip32(string szId, byte bVersion, bool isExportable, bool isTemporary)
Crea una clave privada XPriv en formato BIP32.
Definición DinamoClient.cs:7033
byte[] BchainSignHash(byte bType, byte bHashMode, byte[] pbHash, string szPk)
Firma un hash utilizando el módulo Blockchain.
Definición DinamoClient.cs:7130
void RemoveObjectIfExists(cadena ObjectId)
Elimina un objeto del HSM, si existe.
Definición DinamoClient.cs:2410
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