API .NET
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
XML

Descrição detalhada

Assinatura XML, incluindo Nota Fiscal Eletronica (NF-e)

As funções de assinatura XML estão de acordo com o padrão para assinatura digital em formato XML (Extended Markup Language) definido pelo consórcio W3C (World Wide Web Consortium), de forma a garantir a interoperabilidade, ou seja, documentos XML assinados pelo HSM podem ser verificados em outros ambientes aderentes aos padrões W3C, e o HSM pode fazer a verificação de assinaturas em documentos XML assinados externamente.

As funções de API para uso com assinatura XML exigem o armazenamento interno no HSM dos certificados digitais para assinatura digital e da cadeia completa de confiança dos certificados para verificação.

Para um gravar um certificado digital (ou arquivo) no HSM utilize a console de gerenciamento remoto ou a API DWriteFile().

O certificado digital para assinatura deverá estar codificado no formato binário ASN1 DER e também seguir o padrão X.509 . O arquivo contendo a cadeia de confiança para verificação de assinatura digital deverá estar codificada no formato PKCS#7 (Public Key Cryptography Standard #7 – Cryptographic Message Syntax Standard).

Funções

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. Recebe os parâmetros no formato string.
 
byte[] SignXML (string KeyId, HASH_ALG AlgId, string CertId, byte[] byUnsignedXml, byte[] byFilter)
 Assina digitalmente um documento XML usando os padrões de assinatura digital XML do W3C. Recebe os parâmetros no formato de byte array.
 
byte[] SignXML (HASH_MODE HashMode, Int32 Flags, string KeyId, string CertId, byte[] byUnsignedXml, byte[] byFilter)
 Assina digitalmente um documento XML usando os padrões de assinatura digital XML do W3C. Recebe os parâmetros no formato de byte array.
 
bool VerifySignedXML (string CertId, string SignedXml, string Filter)
 Verifica a assinatura de um documento XML assinado digitalmente. Recebe os parâmetros no formato string.
 
bool VerifySignedXML (string CertId, byte[] bySignedXml, byte[] byFilter)
 verifica a assinatura de um documento XML assinado digitalmente. Recebe os parâmetros no formato byte array.
 

Funções

◆ SignXML() [1/3]

byte[] SignXML ( string KeyId,
HASH_ALG AlgId,
string CertId,
string UnsignedXml,
string Filter )
inline

Assina digitalmente um documento XML usando os padrões de assinatura digital XML do W3C. Recebe os parâmetros no formato string.

Veja também
SignXML(string KeyId, HASH_ALG AlgId, string CertId, byte[] byUnsignedXml, byte[] byFilter)
Parâmetros
KeyIdIdentificador interno ao HSM referente a chave a ser utilizada para assinatura do documento XML.
AlgIdAlgoritmo de hash utilizado. Veja: HASH_ALG
CertIdIdentificador interno ao HSM referente ao certificado digital a ser utilizado para assinatura do documento XML.
UnsignedXmlParâmetro contendo o XML a ser assinado.
FilterFiltro para assinatura digital de partes do documento XML. A utilização de filtro é opcional. Veja Uso dos filtros XML.
Retorna
Array de bytes contendo o documento XML original assinado digitalmente no formato especificado.
Exceções
DinamoExceptionLança exceção no caso de erros na assinatura
Exemplos
signxml.cs.

◆ SignXML() [2/3]

byte[] SignXML ( string KeyId,
HASH_ALG AlgId,
string CertId,
byte[] byUnsignedXml,
byte[] byFilter )
inline

Assina digitalmente um documento XML usando os padrões de assinatura digital XML do W3C. Recebe os parâmetros no formato de byte array.

Parâmetros
KeyIdIdentificador interno ao HSM referente a chave a ser utilizada para assinatura do documento XML.
AlgIdAlgoritmo de hash utilizado. Veja: HASH_ALG
CertIdIdentificador interno ao HSM referente ao certificado digital a ser utilizado para assinatura do documento XML.
byUnsignedXmlParâmetro contendo o XML a ser assinado.(*)
byFilterFiltro para assinatura digital de partes do documento XML. A utilização de filtro é opcional. Veja Uso dos filtros XML.
Retorna
Array de bytes contendo o documento XML original assinado digitalmente no formato especificado.
Exceções
DinamoExceptionLança exceção no caso de erros na assinatura

O documento XML original, indicado por byUnsignedXml, poderá ser compactado de acordo com o padrão gzip descrito nas RFCs 1950 (zlib format), 1951 (deflate format) e 1952 (gzip format). O reconhecimento da compactação é automático pelo HSM. Caso o documento XML original esteja compactado, o documento XML assinado retornado também estará compactado pelo mesmo padrão gzip. As operações de descompactação, assinatura e compactação são independentes no HSM, caso ocorra um erro interno após a assinatura do XML e não seja possível devolver o documento XML assinado compactado, será retornado o documento XML assinado em texto claro (sem compactação). Embora um erro interno desta natureza seja bastante improvável, a aplicação precisa estar preparada para tratá-lo.
A compactação do documento XML não necessariamente traz um ganho de desempenho nas operações de assinatura. O ganho principal pode vir de uma redução sensível no uso de banda da rede. As circunstancias específicas de cada ambiente devem ser analisadas para a adoção da compactação do documento XML.

◆ SignXML() [3/3]

byte[] SignXML ( HASH_MODE HashMode,
Int32 Flags,
string KeyId,
string CertId,
byte[] byUnsignedXml,
byte[] byFilter )
inline

Assina digitalmente um documento XML usando os padrões de assinatura digital XML do W3C. Recebe os parâmetros no formato de byte array.

Parâmetros
HashModeAlgoritmo de hash e canonicalização utilizados. Veja: HASH_MODE
FlagsAlgoritmo de hash e canonicalização utilizados. Pode ser 0 ou DinamoApi.XML_SIGN_FLAGS_NOL.
KeyIdIdentificador interno ao HSM referente a chave a ser utilizada para assinatura do documento XML.
CertIdIdentificador interno ao HSM referente ao certificado digital a ser utilizado para assinatura do documento XML.
byUnsignedXmlParâmetro contendo o XML a ser assinado.(*)
byFilterFiltro para assinatura digital de partes do documento XML. A utilização de filtro é opcional. Veja Uso dos filtros XML.
Retorna
Array de bytes contendo o documento XML original assinado digitalmente no formato especificado.
Exceções
DinamoExceptionLança exceção no caso de erros na assinatura

O documento XML original, indicado por byUnsignedXml, poderá ser compactado de acordo com o padrão gzip descrito nas RFCs 1950 (zlib format), 1951 (deflate format) e 1952 (gzip format). O reconhecimento da compactação é automático pelo HSM. Caso o documento XML original esteja compactado, o documento XML assinado retornado também estará compactado pelo mesmo padrão gzip. As operações de descompactação, assinatura e compactação são independentes no HSM, caso ocorra um erro interno após a assinatura do XML e não seja possível devolver o documento XML assinado compactado, será retornado o documento XML assinado em texto claro (sem compactação). Embora um erro interno desta natureza seja bastante improvável, a aplicação precisa estar preparada para tratá-lo.
A compactação do documento XML não necessariamente traz um ganho de desempenho nas operações de assinatura. O ganho principal pode vir de uma redução sensível no uso de banda da rede. As circunstancias específicas de cada ambiente devem ser analisadas para a adoção da compactação do documento XML.

◆ VerifySignedXML() [1/2]

bool VerifySignedXML ( string CertId,
string SignedXml,
string Filter )
inline

Verifica a assinatura de um documento XML assinado digitalmente. Recebe os parâmetros no formato string.

Parâmetros
CertIdIdentificador interno ao HSM referente a cadeia PKCS#7 – armazenada internamento no HSM - do certificado utilizado na assinatura do documento XML
SignedXmlXML assinado digitalmente em UTF-8.
FilterFiltro para checagem da assinatura digital de partes do documento XML em UTF-8. A utilização de filtro é opcional. Consulte observações para maiores informações sobre filtros.
Retorna
Verdadeiro se a checagem for efetuada com sucesso.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
signxml.cs.

◆ VerifySignedXML() [2/2]

bool VerifySignedXML ( string CertId,
byte[] bySignedXml,
byte[] byFilter )
inline

verifica a assinatura de um documento XML assinado digitalmente. Recebe os parâmetros no formato byte array.

Parâmetros
CertIdIdentificador interno ao HSM referente a cadeia PKCS#7 – armazenada internamento no HSM - do certificado utilizado na assinatura do documento XML
bySignedXmlXML assinado digitalmente
byFilterFiltro para checagem da assinatura digital de partes do documento XML. A utilização de filtro é opcional. Consulte observações para maiores informações sobre filtros.
Retorna
Verdadeiro se a checagem for efetuada com sucesso.
Exceções
DinamoExceptionLança exceção em caso de erro.