Signature クラス
フォームまたはフォームの署名済みデータのセットに追加されたデジタル署名を表します。
継承階層
System.Object
Microsoft.Office.InfoPath.Signature
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)
構文
'宣言
Public MustInherit Class Signature
'使用
Dim instance As Signature
public abstract class Signature
解説
Signature オブジェクトを返すには、SignatureCollection コレクションの Item プロパティを使用します。
Signature クラスは、XML デジタル署名ブロックを書き込み、署名済みデータの暗号ハッシュを計算する Sign メソッドを提供します。
Signature クラスは、デジタル署名に関する情報を取得するために、次のプロパティを提供します。
Certificate フォーム ユーザーがフォームまたはフォーム内のデータのセットへの署名に使用した X.509 デジタル署名の証明書オブジェクトを取得します。
Comment ユーザーがフォームまたはフォーム内のデータのセットに関連付け、デジタル署名に追加したコメントを取得します。
SignatureBlockXmlNode デジタル署名を含む XML ノードを取得します。このプロパティを使用すると、InfoPath で署名と共に格納される署名のプロパティまたはデータのセットを拡張できます。
Status 指定したデジタル署名の状態を SignatureStatus 列挙値として取得します。
例
次の例では、フォームの最初の署名済みデータのセットの最初のデジタル署名に関する情報 (または、フォーム全体に署名するようにフォーム テンプレートが構成されている場合は、フォーム全体の最初の署名に関する情報) を表示します。最初に、署名を表す Signature オブジェクトへの参照が取得されます。署名から状態およびコメントの値を取得するために、Signature クラスの Status プロパティおよび Comment プロパティが使用されます。署名の Certificate オブジェクトを取得するために、Signature クラスの Certificate プロパティが使用されます。これは、後で証明書の発行先を表示するために使用されます。署名情報を含む XML ノードのサブツリーを取得するために、Signature クラスの SignatureBlockXmlNode プロパティが使用されます。最後に、これらのすべての情報は、一連のメッセージ ボックスに表示されます。
// 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)
スレッドの安全性
この型の public static (Visual Basic ではShared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。