NET API
HSM Dinamo
Cargando...
Buscando...
No se han encontrado entradas
XML

Descripción detallada

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).

Funciones

byte[] SignXML (cadena KeyId, HASH_ALG AlgId, cadena CertId, cadena UnsignedXml, cadena Filter)
 Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C. Recibe parámetros en formato de cadena.
 
byte[] SignXML (string KeyId, HASH_ALG AlgId, string CertId, byte[] byUnsignedXml, byte[] byFilter)
 Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C. Recibe parámetros en formato de matriz de bytes.
 
byte[] SignXML(HASH_MODE HashMode, Int32 Flags, string KeyId, string CertId, byte[] byUnsignedXml, byte[] byFilter)
 Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C. Recibe parámetros en formato de matriz de bytes.
 
bool VerifySignedXML (cadena CertId, cadena SignedXml, cadena Filter)
 Comprueba la firma de un documento XML firmado digitalmente. Recibe parámetros en formato de cadena.
 
bool VerifySignedXML (cadena CertId, byte[] bySignedXml, byte[] byFilter)
 verifica la firma de un documento XML firmado digitalmente. Recibe parámetros en formato de matriz de bytes.
 

Funciones

SignXML() [1/3]

byte[] SignXML ( cadena KeyId,
HASH_ALG AlgId,
cadena CertId,
cadena UnsignedXml,
cadena Filtrar )
en línea

Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C. Recibe parámetros en formato de cadena.

Ver también
SignXML(string KeyId, HASH_ALG AlgId, string CertId, byte[] byUnsignedXml, byte[] byFilter)
Parámetros
KeyIdIdentificador interno del HSM que hace referencia a la clave que se utilizará para firmar el documento XML.
AlgIdAlgoritmo hash utilizado. Ver: HASH_ALG
CertIdIdentificador interno del HSM que hace referencia al certificado digital que se utilizará para firmar el documento XML.
UnsignedXmlParámetro que contiene el XML que se va a firmar.
FiltroFiltro 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
DinamoExceptionLanza una excepción en caso de error de firma
Ejemplos
signxml.cs.

SignXML() [2/3]

byte[] SignXML ( cadena KeyId,
HASH_ALG AlgId,
cadena CertId,
byte[] byUnsignedXml,
byte[] byFilter )
en línea

Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C. Recibe parámetros en formato de matriz de bytes.

Parámetros
KeyIdIdentificador interno del HSM que hace referencia a la clave que se utilizará para firmar el documento XML.
AlgIdAlgoritmo hash utilizado. Ver: HASH_ALG
CertIdIdentificador interno del HSM que hace referencia al certificado digital que se utilizará para firmar el documento XML.
byUnsignedXmlParámetro que contiene el XML que se va a firmar.(*)
byFilterFiltro 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
DinamoExceptionLanza una excepción en caso de error de firma

El documento XML original, indicado por byUnsignedXmlEl archivo puede comprimirse según el estándar gzip descrito en las RFC 1950 (formato zlib), 1951 (formato deflate) y 1952 (formato gzip). HSM reconoce automáticamente la compresión. Si el documento XML original está comprimido, el documento XML firmado devuelto también se comprimirá utilizando el mismo estándar gzip. Las operaciones de descompresión, firma y compresión son independientes en HSM, por lo que si se produce un error interno tras firmar el XML y no es posible devolver el documento XML firmado comprimido, el documento XML firmado se devolverá en texto sin formato (sin compresión). Aunque es muy poco probable que se produzca un error interno de este tipo, la aplicación debe estar preparada para afrontarlo.
Comprimir el documento XML no conlleva necesariamente una ganancia de rendimiento en las operaciones de firma. La principal ganancia puede venir de una reducción significativa del uso del ancho de banda de la red. A la hora de adoptar la compresión de documentos XML deben analizarse las circunstancias específicas de cada entorno.

SignXML() [3/3]

byte[] SignXML ( MODO_HASH HashMode,
Int32 Banderas,
cadena KeyId,
cadena CertId,
byte[] byUnsignedXml,
byte[] byFilter )
en línea

Firma digitalmente un documento XML utilizando los estándares de firma digital XML del W3C. Recibe parámetros en formato de matriz de bytes.

Parámetros
HashModeAlgoritmo hash y canonización utilizados. Véase: MODO_HASH
BanderasAlgoritmo hash y canonicalización utilizados. Puede ser 0 o DinamoApi.XML_SIGN_FLAGS_NOL.
KeyIdIdentificador interno del HSM que hace referencia a la clave que se utilizará para firmar el documento XML.
CertIdIdentificador interno del HSM que hace referencia al certificado digital que se utilizará para firmar el documento XML.
byUnsignedXmlParámetro que contiene el XML que se va a firmar.(*)
byFilterFiltro 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
DinamoExceptionLanza una excepción en caso de error de firma

El documento XML original, indicado por byUnsignedXmlEl archivo puede comprimirse según el estándar gzip descrito en las RFC 1950 (formato zlib), 1951 (formato deflate) y 1952 (formato gzip). HSM reconoce automáticamente la compresión. Si el documento XML original está comprimido, el documento XML firmado devuelto también se comprimirá utilizando el mismo estándar gzip. Las operaciones de descompresión, firma y compresión son independientes en HSM, por lo que si se produce un error interno tras firmar el XML y no es posible devolver el documento XML firmado comprimido, el documento XML firmado se devolverá en texto sin formato (sin compresión). Aunque es muy poco probable que se produzca un error interno de este tipo, la aplicación debe estar preparada para afrontarlo.
Comprimir el documento XML no conlleva necesariamente una ganancia de rendimiento en las operaciones de firma. La principal ganancia puede venir de una reducción significativa del uso del ancho de banda de la red. A la hora de adoptar la compresión de documentos XML deben analizarse las circunstancias específicas de cada entorno.

VerifySignedXML() [1/2]

bool VerifySignedXML ( cadena CertId,
cadena SignedXml,
cadena Filtrar )
en línea

Comprueba la firma de un documento XML firmado digitalmente. Recibe parámetros en formato de cadena.

Parámetros
CertIdIdentificador interno del HSM que hace referencia a la cadena PKCS#7 -almacenada internamente en el HSM- del certificado utilizado para firmar el documento XML.
SignedXmlXML firmado digitalmente en UTF-8.
FiltroFiltro para comprobar la firma digital de partes del documento XML en UTF-8. El uso del filtro es opcional. Consulte los comentarios para obtener más información sobre los filtros.
Devolución
Verdadero si la comprobación se realiza correctamente.
Excepciones
DinamoExceptionLanza una excepción en caso de error.
Ejemplos
signxml.cs.

VerifySignedXML() [2/2]

bool VerifySignedXML ( cadena CertId,
byte[] bySignedXml,
byte[] byFilter )
en línea

verifica la firma de un documento XML firmado digitalmente. Recibe parámetros en formato de matriz de bytes.

Parámetros
CertIdIdentificador interno del HSM que hace referencia a la cadena PKCS#7 -almacenada internamente en el HSM- del certificado utilizado para firmar el documento XML.
bySignedXmlXML firmado digitalmente
byFilterFiltro para comprobar la firma digital de partes del documento XML. El uso de filtros es opcional. Consulte los comentarios para obtener más información sobre los filtros.
Devolución
Verdadero si la comprobación se realiza correctamente.
Excepciones
DinamoExceptionLanza una excepción en caso de error.