SignFile タスク
指定された証明書で指定されたファイルに署名します。
パラメーター
SignFile タスクのパラメーターの説明を次の表に示します。
パラメーター |
Description |
---|---|
CertificateThumbprint |
必須の String 型のパラメーターです。 署名に使用する証明書を指定します。この証明書は、現在のユーザーの個人用ストアに存在する必要があります。 |
SigningTarget |
必須の ITaskItem 型のパラメーターです。 証明書で署名するファイルを指定します。 |
TimestampUrl |
省略可能な String 型のパラメーターです。 タイム スタンプ サーバーの URL を指定します。 |
解説
上記のパラメーター以外に、このタスクは Task クラスからパラメーターを継承します。これらの追加のパラメーターの一覧とその説明については、「Task 基本クラス」を参照してください。
使用例
SignFile タスクを使用して、FilesToSign 項目コレクションで指定したファイルに Certificate プロパティで指定された証明書を付けて署名する例を次に示します。
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<FileToSign Include="File.exe" />
</ItemGroup>
<PropertyGroup>
<Certificate>Cert.cer</Certificate>
</PropertyGroup>
<Target Name="Sign">
<SignFile
CertificateThumbprint="$(CertificateThumbprint)"
SigningTarget="@(FileToSign)" />
</Target>
</Project>
[!メモ]
証明書のサムプリントは、証明書の SHA1 ハッシュです。詳細については、「Obtain the SHA-1 Hash of a Trusted Root CA Certificate (信頼されたルート CA 証明書の SHA-1 ハッシュの取得)」を参照してください。
Certificate プロパティで指定された証明書を使用し、FilesToSign 項目コレクションで指定したファイルに署名するために、Exec タスクを使用する例を次に示します。これを使用して、ビルド処理中に Windows インストーラー ファイルに署名できます。
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<FileToSign Include="File.msi" />
</ItemGroup>
<PropertyGroup>
<Certificate>Cert.cer</Certificate>
</PropertyGroup>
<Target Name="Sign">
<Exec Command="signtool.exe sign /f CertFile /p Password "@(FileToSign)" "/>
</Target>
</Project>