Signature 类

定义

表示已添加到表单或表单中的一组签名数据的数字签名。

public ref class Signature abstract
public abstract class Signature
type Signature = class
Public MustInherit Class Signature
继承
Signature

示例

下面的示例显示有关表单中第一组签名数据的第一个数字签名的信息(如果表单模板配置为签署整个表单,则显示有关整个表单的第一个签名的信息)。 首先,检索一个对代表该签名的 Signature 对象的引用。 Signature 类的 StatusComment 属性用于获取该签名中的状态和注释值。 Signature 类的 Certificate 属性用于获取该签名的 Certificate 对象,然后使用该对象显示证书的接收者。 Signature 类的 SignatureBlockXmlNode 属性用于检索包含签名信息的 XML 节点子树。 最后,将在一系列消息框中显示所有这些信息。

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

注解

Item[Int32]使用 集合的 SignatureCollection 属性可返回 Signature 对象。

Signature 类提供Sign()用于编写 XML 数字签名块和计算已签名数据的加密哈希的方法。

Signature 类提供下列属性,用于检索有关数字签名的信息:

  • Certificate 获取 X.509 数字证书的 Certificate 对象,表单用户用该证书对表单或表单中的一组数据进行签名。
  • Comment 获取用户添加到数字签名的注释,该批注用户与表单中的一个或多个数据相关联。
  • SignatureBlockXmlNode 获取包含数字签名的 XML 节点。 可以使用此属性来扩展签名属性或 InfoPath 随签名一起存储的数据集。
  • Status 获取指定数字签名的状态作为 SignatureStatus 枚举值。

构造函数

Signature()

表示已添加到表单或表单中的一组签名数据的数字签名。

属性

Certificate

Certificate获取表示 X.509 数字证书的对象,该证书用于对表单或表单中的一组签名数据进行签名。

Comment

获取用户添加到与表单或表单中的一组签名数据关联的数字签名中的文本注释。

SignatureBlockXmlNode

获取位于包含数字签名的 XML 节点的 System.Xml.XPathNavigator 对象。

Status

获取一个 SignatureStatus 值,该值指定关联的数字签名的状态。

方法

Sign()

写 XML 数字签名块并计算签名数据的加密哈希。

适用于