Clase Signature
Representa una firma digital que se ha agregado a un formulario o un conjunto de datos firmados de un formulario.
Jerarquía de la herencia
System.Object
Microsoft.Office.InfoPath.Signature
Espacio de nombres: Microsoft.Office.InfoPath
Ensamblado: Microsoft.Office.InfoPath (en Microsoft.Office.InfoPath.dll)
Sintaxis
'Declaración
Public MustInherit Class Signature
'Uso
Dim instance As Signature
public abstract class Signature
Comentarios
Use la propiedad Item de la colección SignatureCollection para devolver un objeto Signature.
La clase Signature proporciona el método Sign para escribir el bloque de firma digital XML y computar el valor hash cifrado para los datos firmados.
La clase Signature proporciona las siguientes propiedades para recuperar información sobre la firma digital:
Certificate Obtiene el objeto Certificate para el certificado digital X.509 con el que el usuario del formulario firmó un formulario o un conjunto de datos de un formulario.
Comment Obtiene el comentario que el usuario añadió a la firma digital que ha asociado a un formulario o un conjunto de datos de un formulario.
SignatureBlockXmlNode Obtiene el nodo XML que contiene una firma digital. Puede usar esta propiedad para ampliar las propiedades de la firma o el conjunto de datos que InfoPath guarda con la firma.
Status Obtiene el estado de la firma digital especificada como un valor de la enumeración SignatureStatus.
Ejemplos
En el ejemplo siguiente se muestra información sobre la primera firma digital para el primer conjunto de datos firmados de un formulario (o si la plantilla de formulario se ha configurado para firmar todo el formulario, información sobre la primera firma de todo el formulario). Primero se recupera una referencia al objeto Signature que representa la firma. Se usan las propiedades Status y Comment de la clase Signature para obtener los valores de estado y de comentario de la firma. Se usa la propiedad Certificate de la clase Signature para obtener el objeto Certificate de la firma, que posteriormente se usa para mostrar para quién se ha emitido el certificado. Se usa la propiedad SignatureBlockXmlNode de la clase Signature para recuperar el subárbol del nodo de XML que contiene la información de la firma. Por último, toda esta información se muestra en una serie de cuadros de mensaje.
// Get signature.
Signature mySignature = this.SignedDataBlocks[0].Signatures[0];
// Get status of signature.
string sigStatus = mySignature.Status.ToString();
// Get comment.
string signatureComment = mySignature.Comment;
// Get certificate used to sign with.
Certificate signatureCertificate = mySignature.Certificate;
// Get XML node that contains the signature.
XPathNavigator signatureNode = mySignature.SignatureBlockXmlNode;
// Display properties.
MessageBox.Show("Signature properties:\n\nStatus: " + sigStatus +
"\nComment: " + signatureComment +
"\nCertificate Issued To: " + signatureCertificate.IssuedTo);
// Display XML node subtree that contains signature.
MessageBox.Show("Digital signature XML block: \n" + signatureNode.InnerXml);
Imports Microsoft.VisualBasic.Constants
' Get signature.
Dim mySignature As Signature = Me.SignedDataBlocks(0).Signatures(0)
' Get status of signature.
Dim sigStatus As String = mySignature.Status.ToString()
' Get comment.
Dim signatureComment As String = mySignature.Comment
' Get certificate used to sign with.
Dim signatureCertificate As Certificate = mySignature.Certificate
' Get XML node that contains the signature.
Dim signatureNode As XPathNavigator = mySignature.SignatureBlockXmlNode
' Display properties.
MessageBox.Show("Signature properties:" & NewLine & _
"Status: " & sigStatus & NewLine & _
"Comment: " & signatureComment & NewLine & _
"Certificate Issued To: " & signatureCertificate.IssuedTo)
' Display XML node subtree that contains signature.
MessageBox.Show("Digital signature XML block:" & NewLine & _
signatureNode.InnerXml)
Seguridad para subprocesos
Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.