Compartir a través de


Firmar datos digitalmente en formularios de InfoPath

Una firma digital es un sello electrónico seguro con cifrado de autenticación en una macro o documento. Una firma digital válida confirma que los datos provienen del firmante y no se han alterado desde que se firmaron. Cuando se firman documentos o ciertos datos de los documentos, se computa la firma y se agrega al documento. De esta manera, las firmas siempre viajarán con los datos firmados.

Para poder firmar datos, los usuarios tienen que solicitar un certificado a una entidad emisora de certificados y, a continuación, usarlo para crear firmas digitales. La entidad emisora de certificados administrará el ciclo de vida de los certificados y de las claves (públicas o privadas) necesarios para cifrar datos y crear la firma.

Los usuarios subsiguientes del documento deberán comprobar las firmas existentes y, de acuerdo con el resultado de la comprobación, podrán agregar su propia contribución y firmar. Para obtener resultados de comprobación exactos, el comprobador debe confiar en la entidad emisora de certificados que emitió el certificado que se usó para firmar el documento originalmente.

Las firmas digitales XML están diseñadas para transacciones que implican documentos y datos XML. El poder de las firmas XML se encuentra en la capacidad de firmar solamente datos específicos de un documento XML.

Tipos de firmas digitales en formularios de InfoPath

Microsoft InfoPath implementa firmas digitales para proteger los datos en formularios de InfoPath. En InfoPath, existen dos tipos de firmas digitales:

  • Firmas digitales que garantizan la integridad de los datos y la autenticidad de la plantilla de formulario (archivo .xsn)

  • Firmas digitales que garantizan la integridad, autenticidad y admisión de no rechazo en relación con datos de formularios XML

Mientras que la primera categoría de firmas está destinada a la plantilla de formulario (archivo .xsn), la segunda categoría tiene como destino los datos reales especificados por el usuario en los archivos de formulario de InfoPath (archivos .xml), donde el diseñador de formularios puede permitir a los usuarios crear firmas digitales para todo el formulario o para las secciones del formulario. Hay diferencias fundamentales entre una plantilla firmada y un formulario firmado. Aunque este documento tendrá algunas referencias a plantillas firmadas (como una forma alternativa de crear un formulario que se ejecutará como de plena confianza), no proporciona detalles sobre este tipo de firma. Para obtener más información sobre cómo firmar plantillas de formulario, consulte Implementación de plantillas de formulario de InfoPath firmadas El foco de este tema es usar formularios XML de InfoPath firmados. Las firmas digitales creadas por InfoPath para firmar datos en formularios XML cumplen las especificaciones de W3C XML Digital Signatures.

Características de las firmas digitales

InfoPath ofrece una amplia función de firmas digitales, que permite a los programadores de plantillas diseñar formularios flexibles que permitan firmas digitales tanto para todo el formulario como para datos específicos del formulario. Mientras que firmar todo el formulario siempre creará contrafirmas para el formulario como entidad, firmar partes de los formularios de InfoPath permite más flexibilidad al elegir el tipo de relación entre las firmas agregadas al mismo conjunto de datos: se pueden permitir cofirmas, contrafirmas o solamente una firma.

Con la firma, InfoPath también agregará, de forma predeterminada, información de no rechazo para identificar a los usuarios de datos vistos en la vista actual, así como también la hora y otras configuraciones de entorno tal como estaban establecidas cuando se creó la firma. Se puede personalizar la información de no rechazo, pero solo se implementarán en el diálogo de no rechazo los datos de los nodos de no rechazo predeterminados.

Para agregar una firma, los usuarios tienen que seleccionar el conjunto de datos que se firmará. El conjunto de datos que se puede firmar lo define el diseñador de la plantilla de formulario y se usa para firmar los datos al rellenar el formulario. Para cada firma, los usuarios deberán seguir un asistente para firmas digitales para seleccionar el conjunto de datos que se pueden firmar, seleccionar un certificado, agregar comentarios, y aprobar y asignar la firma al formulario.

Cuando un usuario mantiene el mouse sobre un control que contiene datos firmados, InfoPath mostrará una indicación visual que advertirá de que los datos están firmados y no se pueden cambiar. Los diseñadores de plantillas de formulario pueden elegir que las firmas se muestren en la vista con los datos firmados para que los usuarios puedan tener un acceso fácil a la información de no rechazo.

Compatibilidad con firmas digitales mediante programación

El modelo de objetos de InfoPath incluye admisión de firmas digitales, lo que permite a los programadores un acceso mediante programación a los conjuntos de datos que se pueden firmar que se definen en el formulario mediante la clase SignedDataBlockCollection , a las firmas asignadas a cada conjunto de datos firmados mediante la clase SignatureCollection y al certificado usado para crear una firma mediante la clase Certificate . Además, el controlador de eventos Sign se personaliza en formularios de plena confianza, lo que ofrece compatibilidad con un procesamiento avanzado de firmas digitales en los formularios de InfoPath.

Interoperabilidad

La infraestructura para firmas digitales de InfoPath se diseñó usando la compatibilidad con firmas digitales de MSXML5 para que las firmas digitales de InfoPath tengan interoperabilidad total con las firmas digitales de MSXML5.

Los formularios de InfoPath firmados y las firmas digitales creadas por InfoPath también proporcionan interoperabilidad total con las firmas digitales creadas mediante Microsoft .NET Framework (a partir de la versión 1.1). Las firmas creadas por InfoPath se pueden comprobar con aplicaciones que usan clases de comprobación de firma de .NET Framework. Las firmas creadas para datos hospedados en formularios de InfoPath por aplicaciones diseñadas mediante clases de firmas digitales de .NET Framework se comprueban satisfactoriamente con el mecanismo de firmas digitales de InfoPath.

Vea también

Trabajar con firmas digitales