NET API
HSM Dinamo
Loading...
Looking for...
No entries found
signxml.cs

Example of an XML signature with HSM.

See Note on examples.
using System;
using System.Text;
using System.Collections.Generic;
using System.IO;
using Dinamo;
using Dinamo.Hsm;
namespace TesteNF
{
class Program
{
static void Main(string[] args)
{
string address = "127.0.0.1";
string user = "master";
string pass = "12345678";
string keyId = "lab";
string certId = "lab_cert";
string chainId = "lab_chain";
// Indique aqui o xml a ser assinado
string unsignedXML = @"<?xml version=""1.0""?>
<NFe xmlns=""http://www.portalfiscal.inf.br/nfe"">
<infNFe Id=""XFGR143576863578"" versao=""1.01"">
<test>asdfasd</test>
</infNFe>
</NFe>";
// Indique o filtro a ser usado na assinatura xml
string filter = "http://www.portalfiscal.inf.br/nfe|infNFe|XFGR143576863578";
Console.Out.WriteLine("NF Original:\n {0}",unsignedXML);
// Conecta ao servidor
din.Connect(address, user, pass, true, true);
// Assina o xml
byte[] signedXML = din.SignXML(keyId, DinamoClient.HASH_ALG.ALG_SHA2_256, certId, unsignedXML, filter);
Console.Out.WriteLine("\nNF Assinada:\n {0}", System.Text.Encoding.Default.GetString(signedXML));
// Verifica a assinatura do xml
bool isValid = din.VerifySignedXML(chainId, signedXML, System.Text.Encoding.UTF8.GetBytes(filter));
Console.Out.WriteLine("\nA assinatura do XML {0}\n", isValid ? "é válida" : "é INVÁLIDA");
// Desconecta do servidor
din.Disconnect();
}
}
}
Classe de API para acesso às funcionalidades do HSM Dinamo. Nessa classe é possível programar utiliza...
Definição DinamoClient.cs:93
HASH_ALG
Algoritmo de Hash para assinatura.
Definição DinamoClient.cs:137
void Connect(string User, string Password)
Estabelece uma conexão cifrada com o HSM utilizando as configurações de load balance.
Definição DinamoClient.cs:562
void Disconnect(bool flagClose)
Encerra a conexão com o HSM.
Definição DinamoClient.cs:814
byte[] SignXML(string KeyId, HASH_ALG AlgId, string CertId, string UnsignedXml, string Filter)
Assina digitalmente um documento XML usando os padrões de assinatura digital XML do W3C....
Definição DinamoClient.cs:4607
bool VerifySignedXML(string CertId, string SignedXml, string Filter)
Verifica a assinatura de um documento XML assinado digitalmente. Recebe os parâmetros no formato stri...
Definição DinamoClient.cs:4733
Namespace que denota um conjunto de funções para acesso ao HSM Dinamo e suas respectivas exceptions.
Definição DinamoClient.cs:12
Definição DinamoClient.cs:12