Exemplo de geração de chave e assinatura EdDsa usando o módulo blockchain.
using System;
using System.Text;
using System.IO;
namespace BchainEddsaSign
{
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 {
api.Connect(addr, userId, userPwd);
Console.Out.WriteLine("Conectado com sucesso!");
api.RemoveObjectIfExists(keyId);
api.BchainGenerateKey(DinamoClient.KEY_ALG.ALG_ECX_ED25519, keyId, false, false);
Console.Out.WriteLine("Chave gerada com sucesso!");
byte[] data = Encoding.UTF8.GetBytes("Dinamo Networks");
byte[] signature = api.BchainEdDsaSign(DinamoApi.DN_BCHAIN_EDDSA_SIG_PURE,
DinamoApi.DN_BCHAIN_EDDSA_CSTR_UNUSED,
data, keyId);
Console.Out.WriteLine("Assinatura gerada com sucesso!");
Console.Out.WriteLine("Assinatura: " + BitConverter.ToString(signature).Replace("-", ""));
} catch (DinamoException e) {
Console.Out.WriteLine(e.Message);
} finally{
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