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

Ejemplo de bloqueo y desbloqueo de un objeto.

Véase la nota sobre ejemplos.
usando System;
usando System.IO;
utilizando Dinamo.Hsm;
namespace ObjetoBloque
{
clase Programa
{
static void Main(string[] args)
{
cadena dirección = "127.0.0.1";
string usuario = "maestro";
cadena pass = "12345678";
DinamoClient hsm = nuevo DinamoClient();
//Conecta ao HSM
hsm.Conectar(dirección, usuario, pass);
/*
Genere una clave de prueba y ejecute una prueba.
*/
cadena keyId = "key_id";
IntPtr keyHandle = hsm.GenerateKey(keyId, DinamoClient.KEY_ALG.ALG_RSA_2048, true);
//O handle da chave não será mais necessário neste teste.
hsm.DestroyKey(keyHandle);
Console.WriteLine("\nPrueba clave recién creada.");
Console.WriteLine("Chave bloqueada: {0}",
hsm.IsObjectBlocked(keyId));
TestAsymKeyAccess(hsm, keyId);
/*
Cierra y prueba la llave.
*/
Console.WriteLine("\nTecla de prueba bloqueada.");
hsm.BlockObject(keyId, true);
Console.WriteLine("Chave bloqueada: {0}",
hsm.IsObjectBlocked(keyId));
TestAsymKeyAccess(hsm, keyId);
/*
Desbloquea y prueba la llave.
*/
Console.WriteLine("\nLlave de prueba desbloqueada.");
hsm.BlockObject(keyId, false);
Console.WriteLine("Chave bloqueada: {0}",
hsm.IsObjectBlocked(keyId));
TestAsymKeyAccess(hsm, keyId);
/*
Retire la llave de prueba y desconéctela del HSM.
*/
hsm.RemoveObject(keyId);
hsm.Disconnect();
}
static void TestAsymKeyAccess(DinamoClient hsm, string keyId)
{
var data = new byte[] { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 };
try{
hsm.SignHash(keyId, data, DinamoClient.HASH_ALG.ALG_SHA2_256);
}catch (DinamoException e)
{
Console.WriteLine("Ha fallado la firma hash: " + e.Message);
volver;
}
Console.WriteLine("Clave probada con éxito");
}
}
}
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
Clase de excepción para errores de Dinamo.
Definición DinamoException.cs:10
override string Mensaje
Definición DinamoException.cs:42
byte[] SignHash(String keyId, byte[] bHash, DinamoClient.HASH_ALG algHash)
Firma un hash.
Definición DinamoClient.cs:4035
bool IsObjectBlocked(cadena szObjectName)
Recupera el estado bloqueado de un objeto.
Definición DinamoClient.cs:2354
void DestroyKey(IntPtr hKey)
Suelte la palanca de la llave.
Definición DinamoClient.cs:1953
void BlockObject(cadena szObjectName, bool bBlock)
Cambia el estado de bloqueo de un objeto.
Definición DinamoClient.cs:2321
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