Condividi tramite


Classe Signature

Rappresenta una firma digitale aggiunta a un modulo o a un blocco di dati firmato di un modulo.

Spazio dei nomi: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)

Sintassi

Public MustInherit Class Signature

Dim instance As Signature
public abstract class Signature

Osservazioni

Utilizzare la proprietà Item dell'insieme SignatureCollection per restituire un oggetto Signature.

La classe Signature implementa il metodo Sign per la scrittura del blocco di firma digitale XML e il calcolo dell'hash crittografico per i dati firmati.

La classe Signature implementa le proprietà seguenti per il recupero delle informazioni sulla firma digitale:

  • Certificate   Ottiene un oggetto Certificate per il certificato digitale X.509 utilizzato dall'utente per firmare un modulo o un blocco di dati di un modulo.

  • Comment   Ottiene il commento aggiunto dall'utente alla firma digitale associata a un modulo o a un blocco di dati di un modulo.

  • SignatureBlockXmlNode   Ottiene il nodo XML che contiene una firma digitale. È possibile utilizzare questa proprietà per estendere le proprietà della firma o il blocco di dati archiviato da InfoPath con la firma.

  • Status   Ottiene lo stato della firma digitale specificata come valore di enumerazione SignatureStatus.

Esempio

Nell'esempio seguente vengono visualizzate informazioni sulla prima firma digitale del primo blocco di dati firmato di un modulo oppure, se il modello di modulo è configurato per firmare l'intero modulo, informazioni sulla prima firma dell'intero modulo. Viene innanzitutto recuperato un riferimento all'oggetto Signature che rappresenta la firma. Le proprietà Status e Comment della classe Signature vengono utilizzate per ottenere i valori dello stato e dei commenti dalla firma. La proprietà Certificate della classe Signature viene utilizzata per ottenere l'oggetto Certificate della firma, che viene quindi utilizzato per visualizzare il certificato emesso. La proprietà SignatureBlockXmlNode della classe Signature viene utilizzata per recuperare la sottostruttura del nodo XML che contiene le informazioni sulla firma. Tutte queste informazioni vengono infine visualizzate in una serie di finestre di messaggio.

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

Gerarchia di ereditarietà

System.Object
  Microsoft.Office.InfoPath.Signature

Thread Safety

Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Membri Signature
Spazio dei nomi Microsoft.Office.InfoPath