Compartir a través de


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.

Vea también

Referencia

Miembros Signature

Espacio de nombres Microsoft.Office.InfoPath