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).
|
byte[] | signXML (byte bHashMode, int nFlags, String strKeyId, String strCertId, byte[] baUnsignedXml, byte[] baFilter) throws TacException |
| Assina digitalmente um documento XML usando os padrões de assinatura digital XML do W3C.
|
|
byte[] | signXML (String strPrivKeyName, int nHashAlg, String strCertId, byte[] baUnsignedXml, byte[] baFilter) throws TacException |
| Assina digitalmente um documento XML usando os padrões de assinatura digital XML do W3C.
|
|
byte[] | signXML (byte[] hKey, byte[] hHash, String strCertId, int nUnsignedXml, byte[] baUnsignedXml, int[] naSignedXmlSize, int nFilterSize, byte[] baFilter) throws TacException |
| Assina digitalmente um documento XML usando os padrões de assinatura digital XML do W3C.
|
|
◆ signXML() [1/3]
byte[] signXML |
( |
byte | bHashMode, |
|
|
int | nFlags, |
|
|
String | strKeyId, |
|
|
String | strCertId, |
|
|
byte[] | baUnsignedXml, |
|
|
byte[] | baFilter ) throws TacException |
Assina digitalmente um documento XML usando os padrões de assinatura digital XML do W3C.
- Parâmetros
-
bHashMode | Tipo de hash utilizado na assinatura. Os valores da tabela abaixo são aceitos.
|
nFlags | Flags contendo as opções de assinatura. A tabela abaixo é aceita.
Valor | Significado |
TacNDJavaLib.XML_SIGN_FLAGS_NOL | Desabilita a geração de XML de apenas 1 linha("single line"). Esta opção gera o XML de saída em múltiplas linhas. |
|
strKeyId | Nome da chave privada no HSM. |
strCertId | Nome do certificado no HSM. |
baUnsignedXml | XML a ser assinado. |
baFilter | Filtro para assinatura digital de partes do documento XML. A utilização de filtro é opcional. Veja Uso dos filtros XML. |
- Retorna
- Array de bytes XML original assinado digitalmente no formato especificado.
- Exceções
-
TacException | Lança exceção no caso de erros na assinatura |
◆ signXML() [2/3]
byte[] signXML |
( |
String | strPrivKeyName, |
|
|
int | nHashAlg, |
|
|
String | strCertId, |
|
|
byte[] | baUnsignedXml, |
|
|
byte[] | baFilter ) throws TacException |
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
-
strPrivKeyName | Identificador interno ao HSM referente a chave a ser utilizada para assinatura do documento XML. |
nHashAlg | Algoritmo de hash utilizado. A tabela abaixo é aceita.
|
strCertId | Identificador interno ao HSM referente ao certificado digital a ser utilizado para assinatura do documento XML. |
baUnsignedXml | Parâmetro contendo o XML a ser assinado. |
baFilter | Filtro 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
-
TacException | Lança exceção no caso de erros na assinatura |
◆ signXML() [3/3]
byte[] signXML |
( |
byte[] | hKey, |
|
|
byte[] | hHash, |
|
|
String | strCertId, |
|
|
int | nUnsignedXml, |
|
|
byte[] | baUnsignedXml, |
|
|
int[] | naSignedXmlSize, |
|
|
int | nFilterSize, |
|
|
byte[] | baFilter ) throws TacException |
Assina digitalmente um documento XML usando os padrões de assinatura digital XML do W3C.
Recebe os parâmetros no formato string.
- Parâmetros
-
hKey | Identificador interno ao HSM referente a chave a ser utilizada para assinatura do documento XML. |
hHash | Algoritmo de hash utilizado. |
strCertId | Identificador interno ao HSM referente ao certificado digital a ser utilizado para assinatura do documento XML. |
nUnsignedXml | Parâmetro contendo o XML a ser assinado. |
baUnsignedXml | |
naSignedXmlSize | |
nFilterSize | |
baFilter | |
- Retorna
- Exceções
-
TacException | Lança exceção no caso de erros na assinatura |