SignFile – úloha

Podepíše zadaný soubor pomocí zadaného certifikátu. SignFile je určen pouze pro podepisování souborů ClickOnce. Jedná se o obálku pro signtool.exe nástroj a nejedná se o úlohu podepisování pro obecné účely.

Parametry

Následující tabulka popisuje parametry SignFile úlohy.

Mějte na paměti, že certifikáty SHA-256 jsou povolené jenom na počítačích, které mají .NET 4.5 a vyšší.

Upozorňující

Od verze Visual Studio 2013 Update 3 má tato úloha nový podpis, který umožňuje zadat verzi cílové architektury pro soubor. Doporučujeme používat nový podpis všude, kde je to možné, protože proces MSBuild používá hodnoty hash SHA-256 pouze v případě, že cílová architektura je .NET 4.5 nebo vyšší. Pokud je cílová architektura .NET 4.0 nebo nižší, hodnota hash SHA-256 se nepoužije.

Parametr Popis
CertificateThumbprint Požadovaný parametr String.

Určuje certifikát, který se má použít k podepisování. Tento certifikát musí být v osobním úložišti aktuálního uživatele.
SigningTarget Požadovaný parametr ITaskItem.

Určuje soubory, které se mají podepsat pomocí certifikátu, typu .exe nebo .dll.
TimestampUrl Volitelný String parametr.

Určuje adresu URL serveru s časovým razítkem.
TargetFrameworkVersion Verze rozhraní .NET Framework, která se používá pro cíl.

Poznámky

Kromě výše uvedených parametrů dědí tato úloha parametry z Task třídy. Seznam těchto dalších parametrů a jejich popisů naleznete v části Základní třída úlohy.

SignFile vyžaduje instalaci sady Visual Studio nebo sady Windows 8.1 SDK, aby nástroj našel signtool.exe v cestě. Nejde ho použít ve scénářích CI/CD, kde jsou nainstalované jenom nástroje sestavení.

Příklad

Následující příklad používá SignFile úlohu k podepsání souborů zadaných v FilesToSign kolekci položek pomocí certifikátu určeného vlastností CertificateThumbprint .

<Project xmlns="http://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>

Poznámka

Kryptografický otisk certifikátu je hodnota hash SHA-1 certifikátu. Další informace naleznete v tématu Získání hodnoty hash SHA-1 důvěryhodné kořenové certifikační autority. Pokud zkopírujete a vložíte kryptografický otisk z podrobností o certifikátu, ujistěte se, že nezahrnete neviditelný znak navíc (3F), který může bránit SignFile v vyhledání certifikátu.

Viz také