共用方式為


SignFile 工作

使用指定的憑證簽署指定的檔案。

參數

下表說明 SignFile 工作的參數。

請注意 SHA-256 憑證只在具有 .NET 4.5 及更高版本的電腦上才允許。

警告

從 Visual Studio 2013 Update 3 開始,這個工作有新的簽章,可讓您指定檔案的目標架構版本。我們鼓勵您儘可能地使用新的簽章,因為只有當目標架構是 .NET 4.5 或更高版本時,MSBuild 程序才會使用 SHA-256 雜湊。如果目標架構是 .NET 4.0 或更低版本,將不會使用 SHA-256 雜湊。

參數

描述

CertificateThumbprint

必要的 String 參數。

指定簽署要使用的憑證。 此憑證必須位於目前使用者的個人存放區。

SigningTarget

必要的 ITaskItem 參數。

指定要使用憑證簽署的檔案。

TimestampUrl

選擇性的 String 參數。

指定時間戳記伺服器的 URL。

TargetFrameworkVersion

對目標使用的 .NET Framework 版本。

備註

除了上述所列的參數,這項工作也會從 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)" 
            TargetFrameworkVersion="v4.5" />
    </Target>
</Project>
注意事項注意事項

憑證指紋是憑證的 SHA-1 雜湊。如需詳細資訊,請參閱取得受信任的根 CA 憑證的 SHA-1 雜湊

下列範例使用 Exec 工作來簽署 FilesToSign 項目集合中指定的檔案,並使用 Certificate 屬性所指定的憑證。 您可以使用這個在建置程序期間簽署 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)" "/>
        <SignFile
            CertificateThumbprint="$(CertificateThumbprint)"
            SigningTarget="@(FileToSign)" 
            TargetFrameworkVersion="v4.0" />
    </Target>
</Project>

請參閱

概念

MSBuild 工作

其他資源

MSBuild 工作參考