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

Exemplo de geração de chave e derivação CKD usando o módulo blockchain.

Veja Nota sobre os exemplos.
using Dinamo.Hsm;
using System;
using System.Text;
using System.IO;
namespace BchainCkd
{
class Program
{
private static String addr = "127.0.0.1";
private static String userId = "test";
private static String userPwd = "12345678";
static void Main(string[] args)
{
String keyId = "key";
DinamoClient api = new DinamoClient();
try {
/*
Conecta no HSM
*/
api.Connect(addr, userId, userPwd);
Console.Out.WriteLine("Conectado com sucesso!");
api.RemoveObjectIfExists(keyId);
/*
Gera a chave XPriv BIP-32.
*/
api.BchainCreateXPrvBip32(keyId, DinamoApi.DN_BCHAIN_VER_WIF_MAIN_NET, false, false);
Console.Out.WriteLine("Chave gerada com sucesso!");
string derivedKeyId = "derivedKey";
api.RemoveObjectIfExists(derivedKeyId);
/*
Deriva a chave privada segura (hardened) para o índice 1.
*/
var info = api.BchainCreateBip32Ckd(DinamoApi.DN_BCHAIN_VER_WIF_MAIN_NET,
DinamoApi.DN_BCHAIN_SECURE_BIP32_INDEX_BASE + 1,
keyId, derivedKeyId, false, false);
Console.Out.WriteLine("Chave derivada gerada com sucesso!");
} catch (DinamoException e) {
Console.Out.WriteLine(e.Message);
} finally{
/*
Desconecta do HSM
*/
api.Disconnect();
Console.Out.WriteLine("Desconectado com sucesso!");
}
}
}
}
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