Signcode.exe (ファイル署名ツール)

ファイル署名ツールは、Authenticode デジタル署名を使用して、ポータブル実行可能 (PE) ファイル (.dll ファイルまたは .exe ファイル) に署名します。マルチファイル アセンブリに含まれいてるアセンブリまたは個別のファイルに署名できます。アセンブリを配布する場合は、個別のファイルではなく、アセンブリに署名する必要があります。オプションを指定せずに Signcode.exe を実行すると、署名を支援するウィザードが起動します。

ファイル署名ツールは、.NET Framework SDK Version 1.0 および 1.1 にのみ付属しています。新しいバージョンの場合は、SignTool.exe (署名ツール) ユーティリティを代わりに使用します。

signcode [options] filename | assemblyname

パラメーター

引数

説明

filename

署名する PE ファイルの名前。

assemblyname

署名するアセンブリの名前。このファイルはアセンブリ マニフェストを格納している必要があります。

オプション

説明

-$authority

証明書の署名機関を指定します。individual または commercial を指定する必要があります。既定では、証明書が持つ最高のアクセス許可が使用されます。

-aalgorithm

署名に使用するハッシュ アルゴリズムを指定します。md5 (既定値) または sha1 を指定する必要があります。

-cfile

エンコードされたソフトウェア発行元証明書を含むファイルを指定します。

-cnname

証明書の共通名を指定します。

-iinfo

内容に関する詳細情報を入手できる場所を指定します (通常は URL)。

-jdllName

ファイルの署名に必要な認証済み属性の配列を返す DLL の名前を指定します。1 つ以上の DLL を指定するには、-j オプションを繰り返し指定します。

-jpparam

直前に指定した DLL に関して渡すパラメーターを指定します。たとえば、-j dll1 -jp dll1Param のように指定します。1 つの DLL についてパラメーターを 1 つだけ指定できます。

-kkeyname

キー コンテナー名を指定します。

-kykeytype

キーの種類を指定します。signatureexchange、または整数 (4 など) を指定する必要があります。

-nname

署名するファイルの内容を表すテキスト名を指定します。

-pprovider

システム上の暗号プロバイダーの名前を指定します。

-rlocation

レジストリ内の証明書ストアの位置を指定します。currentuser (既定値) または localmachine を指定する必要があります。

-sstore

署名証明書を含む証明書ストアを指定します。既定値はストア my です。

-sha1thumbprint

証明書ストアに含まれる署名証明書の sha1 ハッシュである thumbprint を指定します。

-sppolicy

証明書ストア ポリシーを設定します。spcStore (既定値) または chain を指定する必要があります。chain を指定した場合は、自己署名証明書を含め、検査チェイン内のすべての証明書が署名に付加されます。spcStore を指定した場合は、信頼される自己署名証明書は、署名に付加されるチェイン内の証明書から除外されます。

-spcfile

ソフトウェア発行元証明書を含む SPC ファイルを指定します。

-tURL

指定したアドレスにあるタイム スタンプ サーバーによって、ファイルにタイム スタンプを記録することを指定します。

-trnumber

タイム スタンプの記録に成功するまでの最大試行回数を指定します。既定値は 1 です。

-tw number

タイム スタンプの試行を繰り返すときの間隔 (秒数) を指定します。既定値は 0 です。

-vpvkFile

秘密キーを含む秘密キー ファイル (.pvk) の名前を指定します。

-x

ファイルにタイム スタンプを記録しますが、署名はしません。

-y type

使用する暗号プロバイダーの種類を指定します。

暗号プロバイダーには、暗号標準と暗号アルゴリズムの実装が含まれます。既定の暗号プロバイダーの一覧については、Platform SDK の「Microsoft Cryptographic Service Providers」を参照してください。

-?

このツールのコマンド構文とオプションを表示します。

解説

ソフトウェア発行元証明書 (SPC) ファイルを使用して署名するには、秘密キーが PVK ファイルに含まれている場合は、-spc オプションと -v オプションを指定する必要があります。秘密キーがレジストリ キー コンテナー内にある場合は、-spc オプションと -k オプションを指定する必要があります。SPC ファイルを使用してファイルに署名する場合は、証明書作成ツールおよびソフトウェア発行元証明書テスト ツールを使用して SPC ファイルを作成しておく必要があります。

ソフトウェア発行元証明書 XYZ.spc とレジストリ キー コンテナー XYZ 内の秘密キーを使用して、XYZ.exe に署名するコマンドを次に示します。

signcode /spc XYZ.spc /k XYZ XYZ.exe

myCertificate.spc 内の証明書と myKey.pvk 内の秘密キーを使用して、アセンブリ myAssembly に署名するコマンドを次に示します。

signcode /spc myCertificate.spc /v myKey.pvk  myAssembly

参照

参照

Makecert.exe (証明書作成ツール)

Cert2spc.exe (ソフトウェア発行元証明書テスト ツール)

Visual Studio コマンド プロンプト

概念

アクセス許可

その他の技術情報

.NET Framework ツール