次の方法で共有


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

関連項目

参照

Signature クラス

Signature メンバー

Microsoft.Office.InfoPath 名前空間