次の方法で共有


SignedCode.Sign メソッド

[ Sign メソッドは、[要件] セクションで指定したオペレーティング システムで使用できます。 代わりに、プラットフォーム呼び出しサービス (PInvoke) を使用して Win32 API SignerSignExSignerTimeStampExWinVerifyTrust 関数を呼び出して、Authenticode デジタル署名でコンテンツに署名します。 PInvoke の詳細については、「 プラットフォーム呼び出しのチュートリアル」を参照してください。 P/Invoke を介した .NET と CryptoAPI: パート 1P/Invoke による .NET と CryptoAPI:CAPICOM と P/Invoke による .NET 暗号化の拡張のパート 2 サブセクションも役立つ場合があります。

Sign メソッドは、Authenticode デジタル署名を作成し、SignedCode.FileName プロパティで指定された実行可能ファイルに署名します。

構文

SignedCode.Sign( _
  [ ByVal Signer ] _
)

パラメーター

署名者 [in, optional]

コード の署名 に使用される証明書の秘密キーにアクセスできる署名者オブジェクト。 既定値は Null です

戻り値

このメソッドは値を返しません。

解説

Sign メソッドを呼び出す前に、コードを含むファイルを FileName プロパティで指定する必要があります。

実行可能ファイルが既に署名されている場合、このメソッドは既存の署名を上書きします。

Signer パラメーター値には、次の結果が適用されます。

  • Signer パラメーターが NULL でない場合、このメソッドは関連付けられた証明書によって指される秘密キーを使用して署名を暗号化します。 証明書によって指されている秘密キーが使用できない場合、メソッドは失敗します。
  • Signer パラメーターが NULL で、コード署名機能を持つ秘密キーにアクセスできる証明書が CURRENT_USER MY ストアに 1 つだけ存在する場合、その証明書を使用して署名が作成されます。
  • Signer パラメーターが NULL の場合、Settings.EnablePromptForCertificateUI プロパティの値は true で、CURRENT_USER MY ストアには、コード署名機能を備えた使用可能な秘密キーを持つ複数の証明書があり、使用する証明書を選択できるダイアログ ボックスが表示されます。
  • Signer パラメーターが NULL、Settings.EnablePromptForCertificateUI プロパティが false の場合、メソッドは失敗します。
  • Signer パラメーターが NULL で、コード署名機能を持つ使用可能な秘密キーを持つ証明書が CURRENT_USER MY ストアに存在しない場合、メソッドは失敗します。

このメソッドでは、SHA-1 ハッシュ アルゴリズムを使用します。

必要条件

要件
再頒布可能パッケージ
Windows Server 2003 および Windows XP の CAPICOM 2.0 以降
[DLL]
Capicom.dll