SignFile 任务
使用指定的证书对指定文件进行签名。
参数
下表描述了 SignFile 任务的参数。
Parameter |
说明 |
---|---|
CertificateThumbprint |
必选 String 参数。 指定要用于签名的证书。 此证书必须在当前用户的个人存储区中。 |
SigningTarget |
必选 ITaskItem 参数。 指定要用证书进行签名的文件。 |
TimestampUrl |
可选 String 参数。 指定时间戳服务器的 URL。 |
备注
除了以上列出的参数外,此任务还从 Task 类继承参数。 有关这些附加参数及其说明的列表,请参见 任务基类。
示例
下面的示例使用 SignFile 任务,借助于 Certificate 属性指定的证书,对在 FilesToSign 项集合中指定的文件进行签名。
<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 哈希)。
下面的示例使用 Exec 任务,借助于 Certificate 属性指定的证书,对在 FilesToSign 项集合中指定的文件进行签名。 可以使用它在生成过程中对 Windows Installer 文件签名。
<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>