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>

请参见

概念

MSBuild 任务

其他资源

MSBuild 任务参考