SignedCode.Sign メソッド
[ Sign メソッドは、[要件] セクションで指定したオペレーティング システムで使用できます。 代わりに、プラットフォーム呼び出しサービス (PInvoke) を使用して Win32 API SignerSignEx、 SignerTimeStampEx、 WinVerifyTrust 関数を呼び出して、Authenticode デジタル署名でコンテンツに署名します。 PInvoke の詳細については、「 プラットフォーム呼び出しのチュートリアル」を参照してください。 P/Invoke を介した .NET と CryptoAPI: パート 1 と P/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] |
|