Firma XML, incluida la factura electrónica (NF-e)
Las funciones de firma XML se ajustan a la norma para firmas digitales en formato XML (Extended Markup Language) definida por el consorcio W3C (World Wide Web Consortium), con el fin de garantizar la interoperabilidad, es decir, los documentos XML firmados por el HSM pueden verificarse en otros entornos que se adhieran a las normas del W3C, y el HSM puede verificar firmas en documentos XML firmados externamente.
Las funciones de la API para su uso con la firma XML requieren el almacenamiento interno en el HSM de los certificados digitales para la firma digital y la cadena de confianza completa de los certificados para la verificación.
Para escribir un certificado digital (o un archivo) en el HSM, utilice la consola de gestión remota o la API DWriteFile().
El certificado digital para la firma debe estar codificado en formato binario ASN1 DER y seguir también el estándar X.509. El archivo que contiene la cadena de confianza para verificar la firma digital debe estar codificado en 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 |
| Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C.
|
|
byte[] | signXML (String strPrivKeyName, int nHashAlg, String strCertId, byte[] baUnsignedXml, byte[] baFilter) throws TacException |
| Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C.
|
|
byte[] | signXML (byte[] hKey, byte[] hHash, String strCertId, int nUnsignedXml, byte[] baUnsignedXml, int[] naSignedXmlSize, int nFilterSize, byte[] baFilter) throws TacException |
| Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C.
|
|
◆ signXML() [1/3]
byte[] signXML |
( |
byte | bHashMode, |
|
|
int | nFlags, |
|
|
Cadena | strKeyId, |
|
|
Cadena | strCertId, |
|
|
byte[] | baUnsignedXml, |
|
|
byte[] | baFilter ) lanza una TacException |
Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C.
- Parámetros
-
bHashMode | Tipo de hash utilizado en la firma. Se aceptan los valores de la tabla siguiente.
|
nFlags | Banderas que contienen las opciones de suscripción. Se acepta la tabla siguiente.
|
strKeyId | Nombre de la clave privada en el HSM. |
strCertId | Nombre del certificado en HSM. |
baUnsignedXml | XML a firmar. |
baFiltro | Filtro para firmar digitalmente partes del documento XML. El uso del filtro es opcional. Consulte Uso de filtros XML. |
- Devolución
- Matriz de bytes XML originales firmados digitalmente en el formato especificado.
- Excepciones
-
TacException | Lanza una excepción en caso de error de firma |
◆ signXML() [2/3]
byte[] signXML |
( |
Cadena | strPrivKeyName, |
|
|
int | nHashAlg, |
|
|
Cadena | strCertId, |
|
|
byte[] | baUnsignedXml, |
|
|
byte[] | baFilter ) lanza una TacException |
Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C.
Recibe los parámetros en formato de matriz de bytes.
- Parámetros
-
strPrivKeyName | Identificador interno del HSM que hace referencia a la clave que se utilizará para firmar el documento XML. |
nHashAlg | Algoritmo hash utilizado. Se acepta la tabla siguiente.
|
strCertId | Identificador interno del HSM que hace referencia al certificado digital que se utilizará para firmar el documento XML. |
baUnsignedXml | Parámetro que contiene el XML que se va a firmar. |
baFiltro | Filtro para firmar digitalmente partes del documento XML. El uso del filtro es opcional. Consulte Uso de filtros XML. |
- Devolución
- Matriz de bytes que contiene el documento XML original firmado digitalmente en el formato especificado.
- Excepciones
-
TacException | Lanza una excepción en caso de error de firma |
◆ signXML() [3/3]
byte[] signXML |
( |
byte[] | hKey, |
|
|
byte[] | hHash, |
|
|
Cadena | strCertId, |
|
|
int | nUnsignedXml, |
|
|
byte[] | baUnsignedXml, |
|
|
int[] | naSignedXmlSize, |
|
|
int | nTamañoDelFiltro, |
|
|
byte[] | baFilter ) lanza una TacException |
Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C.
Recibe parámetros en formato cadena.
- Parámetros
-
hKey | Identificador interno del HSM que hace referencia a la clave que se utilizará para firmar el documento XML. |
hHash | Algoritmo hash utilizado. |
strCertId | Identificador interno del HSM que hace referencia al certificado digital que se utilizará para firmar el documento XML. |
nUnsignedXml | Parámetro que contiene el XML que se va a firmar. |
baUnsignedXml | |
naSignedXmlSize | |
nTamañoDelFiltro | |
baFiltro | |
- Devolución
- Excepciones
-
TacException | Lanza una excepción en caso de error de firma |