Signature.Sign メソッド
XML デジタル署名ブロックを書き込み、署名済みデータの暗号ハッシュを計算します。
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)
構文
'宣言
Public MustOverride Sub Sign
'使用
Dim instance As Signature
instance.Sign()
public abstract void Sign()
例外
例外 | 条件 |
---|---|
InvalidOperationException | フォーム コードは、署名を開始した後に、基になる XML ドキュメントに書き込みを試みました。 |
SecurityException | フォーム テンプレートが、[フォームのオプション] ダイアログ ボックスの [セキュリティと信頼] カテゴリを使用して [完全信頼] として構成されていません。 |
解説
Sign メソッドは、Sign イベントのイベント ハンドラーからのみ呼び出すことができます。
このメンバーには、[フォームのオプション] ダイアログ ボックスの [セキュリティ] または [信頼] カテゴリを使用して、完全な信頼を与えられて実行するように構成されたフォーム テンプレートから開かれたフォームのみがアクセスできます。このメンバーは、直接の呼び出し側の完全な信頼が必要であり、部分的に信頼されたコードでは使用できません。詳細については、MSDN の「部分信頼コードからのライブラリの使用」を参照してください。
この型またはメンバーには、Microsoft InfoPath Filler で開かれたフォームを実行中のコードからのみアクセスできます。
例
次の例では、Sign イベントのイベント ハンドラーを追加するときにフォーム テンプレートに追加されるコード スケルトンを示します。最初に、SignatureCollection クラスの CreateSignature メソッドを使用して新しい Signature オブジェクトを作成します。次に、Signature クラスの Sign メソッドを呼び出して、[デジタル署名] ダイアログ ボックスを表示することなく、新しい Signature オブジェクトをフォームの SignatureCollection オブジェクトに追加します。
public void FormEvents_Sign(object sender, SignEventArgs e)
{
// This event handler will run only in fully trusted form templates.
Signature thisSignature =
e.SignedDataBlock.Signatures.CreateSignature();
// To add other pieces of information to sign, modify the
// signature template returned by
// thisSignature.SignatureBlockXmlNode.
// Write your code here.
thisSignature.Sign();
e.SignatureWizard = false;
}
Public Sub FormEvents_Sign(ByVal sender As Object, _
ByVal e As SignEventArgs)
' This event handler will run only in fully trusted form templates.
Dim thisSignature As Signature = _
e.SignedDataBlock.Signatures.CreateSignature()
' To add other pieces of information to sign, modify the
' signature template returned by
' thisSignature.SignatureBlockXmlNode.
' Write your code here.
thisSignature.Sign()
e.SignatureWizard = False
End Sub