Example of an XML signature with HSM.
using System;
using System.Text;
using System.Collections.Generic;
using System.IO;
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";
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>";
string filter = "http://www.portalfiscal.inf.br/nfe|infNFe|XFGR143576863578";
Console.Out.WriteLine("NF Original:\n {0}",unsignedXML);
din.
Connect(address, user, pass,
true,
true);
Console.Out.WriteLine("\nNF Assinada:\n {0}", System.Text.Encoding.Default.GetString(signedXML));
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");
}
}
}
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