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

Ejemplo de firma por lotes mediante HSM.

Véase la nota sobre ejemplos.
usando System;
using System.Collections.Generic;
usando System.Text;
usando Dinamo;
utilizando Dinamo.Hsm;
namespace TesteBatchSign
{
clase Programa
{
static void Main(string[] args)
{
cadena dirección = "10.0.62.47";
string usuario = "maestro";
cadena pass = "12345678";
cadena keyId = "privateKey";//RSA 2048
const Int32 blockCount = 30;//Máximo de 30 bloques para la firma
const Int32 keySize = 256;//RSA 2048
byte[] pbKeyBlock = new byte[keySize]{ 0x00, 0x01, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x30,
0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03,
0x02, 0x1a, 0x05, 0x00, 0x04, 0x14, 0x1a, 0xa2,
0x64, 0x75, 0x84, 0x33, 0x24, 0x30, 0xfd, 0xe1,
0x3f, 0x47, 0x6b, 0xc1, 0x89, 0x89, 0xb7, 0xfc,
0x5b, 0x27};//Bloqueo con hash + relleno PKCS#1
byte[] pbBlock = new byte[DinamoApi.DN_BATCH_SIGN_BLOCK_HEADER + (blockCount * keySize)];
for (int i = DinamoApi.DN_BATCH_SIGN_BLOCK_HEADER; i < blockCount * keySize; i += keySize)
{
Array.Copy(pbKeyBlock, 0, pbBlock, i, pbKeyBlock.Length);
}
DinamoClient dnClient = nuevo DinamoClient();
dnClient.Connect(address, user, pass);
dnClient. BatchSign(keyId, pbBlock, blockCount, 0);
dnClient.Disconnect();
Consola.In.ReadLine();
}
}
}
Clase de bajo nivel para acceder al HSM. Para utilizar esta clase es necesario entender más ...
Definición DinamoApi.cs:15
const Int32 DN_BATCH_SIGN_BLOCK_HEADER
Definición DinamoApi.cs:1409
Clase API para acceder a las funcionalidades del HSM Dinamo. En esta clase se puede programar utilizando...
Definición DinamoClient.cs:93
void BatchSign(string strKeyId, byte[] pbBlock, Int32 dwBlockCount, Int32 dwFlags)
Envía un lote de bloques para su firma en el HSM.
Definición DinamoClient.cs:3994
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