サード パーティの暗号化サービス プロバイダー (CSP) の Authenticode 署名

カスタム暗号化サービス プロバイダー (CSP) のサード パーティの Authenticode 署名は、Windows Vista 以降で使用できます。

そのため、Microsoft は CSP に署名しなくなり、手動 CSP 署名サービスは廃止されました。 送信 cspsign@microsoft.com または cecspsig@microsoft.com 署名される電子メールおよび CSP は、Microsoft によって処理されなくなります。

代わりに、次の手順に従って、すべてのサードパーティ CSP を自己署名できるようになりました。

  1. Microsoft もクロス証明書を発行する証明機関 (CA) からコード署名証明書を購入します。 「 カーネル モード コード署名クロス証明書」トピックでは、Microsoft がクロス証明書を提供している CA と対応するクロス証明書のリストが記載されています。 これらは、Microsoft によって発行された "Microsoft コード検証ルート" までチェーンされる唯一のクロス証明書であり、これによって Windows でサード パーティの CSP を実行できる点に注意してください。
  2. CA からの証明書とそれに一致するクロス証明書を取得したら、SignTool を使用して、すべての CSP バイナリに署名できます。
  3. SignTool は、Visual Studio の最新バージョンに含まれています。 また、WDK バージョン 7.0 以降のバージョンにも含まれています。 以前のバージョンの WDK に付属する SignTool はクロス証明書と互換性がなく、バイナリの署名には使用できないことに注意してください。

Note

Windows 8 以降では、CSP に署名する必要はなくなりました。

コマンド ラインからバイナリに署名することも、Visual Studio 2012 以降で統合ビルド ステップとして署名することもできます。

SignTool コマンドは、次のとおりです。

signtool.exe sign /ac <cross-certificate_from_ms> /sha1 <sha1_hash> /t <timestamp_server> /d <”optional_description_in_double_quotes”> <binary_file.ext>
  • <cross-certificate_from_ca> は、Microsoft からダウンロードしたクロス証明書ファイルです
  • <sha1_hash> は、コード署名証明書に対応する SHA1 拇印です。
  • <timestamp_server> は、署名操作にタイムスタンプを付けるために使用されるサーバーです。
  • <"optional_description_in_double_quotes"> は省略可能なフレンドリ名の説明です
  • <binary_file.ext> は署名するファイルです

次に例を示します。

signtool.exe sign /ac certificate.cer /sha1 553e39af9e0ea8c9edcd802abbf103166f81fa50 /t "http://timestamp.digicert.com" /d "My Cryptographic Service Provider" csp.dll

Note

古い CSP 署名では必要でしたが、CSP DLL にリソース ID #666 を含めたり、レジストリに署名を含める必要はありません。

その他のヘルプとサポート

Application Security for Windows Desktop フォーラムで支援を受けることができます。