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();
}
}
}
API class for accessing HSM functionalities Dinamo. In this class you can program using...
Definition DinamoClient.cs:93
HASH_ALG
Hash algorithm for signatures.
Definition DinamoClient.cs:137
void Connect(string User, string Password)
Establishes an encrypted connection to the HSM using the load balance settings.
Definition DinamoClient.cs:562
void Disconnect(bool flagClose)
Terminates the connection to the HSM.
Definition DinamoClient.cs:814
byte[] SignXML(string KeyId, HASH_ALG AlgId, string CertId, string UnsignedXml, string Filter)
Digitally signs an XML document using the W3C XML digital signature standards....
Definition DinamoClient.cs:4607
bool VerifySignedXML(string CertId, string SignedXml, string Filter)
Checks the signature of a digitally signed XML document. It receives the parameters in stri...
Definition DinamoClient.cs:4733
Namespace denoting a set of functions for accessing the HSM Dinamo and their respective exceptions.
Definition DinamoClient.cs:12
Definition DinamoClient.cs:12