Delen via


SignFile-taak

Ondertekent het opgegeven bestand met het opgegeven certificaat. SignFile is alleen bedoeld voor het ondertekenen van ClickOnce-bestanden. Het is een wrapper voor het hulpprogramma signtool.exe en is geen algemene ondertekeningstaak.

Parameters

In de volgende tabel worden de parameters van de SignFile taak beschreven.

Sha-256-certificaten zijn alleen toegestaan op computers met .NET 4.5 en hoger.

Waarschuwing

Vanaf Visual Studio 2013 Update 3 heeft deze taak een nieuwe handtekening waarmee u de doelframeworkversie voor het bestand kunt opgeven. U wordt aangeraden de nieuwe handtekening waar mogelijk te gebruiken, omdat het MSBuild-proces alleen SHA-256 hashes gebruikt wanneer het doelframework .NET 4.5 of hoger is. Als het doelframework .NET 4.0 of lager is, wordt de SHA-256-hash niet gebruikt.

Parameter Beschrijving
CertificateThumbprint Vereiste String parameter.

Hiermee geeft u het certificaat op dat moet worden gebruikt voor ondertekening. Dit certificaat moet zich in het persoonlijke archief van de huidige gebruiker bevinden.
SigningTarget Vereiste ITaskItem parameter.

Hiermee geeft u de bestanden te ondertekenen met het certificaat, van het type .exe of .dll.
TimestampUrl Optionele String parameter.

Hiermee geeft u de URL van een tijdstempelserver.
TargetFrameworkVersion De versie van .NET Framework die wordt gebruikt voor het doel.

Opmerkingen

Naast de bovenstaande parameters neemt deze taak parameters over van de Task-klasse. Zie Task base-klassevoor een lijst met deze aanvullende parameters en de bijbehorende beschrijvingen.

SignFile vereist dat Visual Studio of een Windows 8.1 SDK is geïnstalleerd om het hulpprogramma signtool.exe op het pad te vinden. Het kan niet worden gebruikt in CI/CD-scenario's waarbij alleen de buildhulpprogramma's zijn geïnstalleerd.

Voorbeeld

In het volgende voorbeeld wordt de SignFile taak gebruikt om de bestanden te ondertekenen die zijn opgegeven in de FilesToSign itemverzameling met het certificaat dat is opgegeven door de eigenschap 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="$(CERTIFICATE_THUMBPRINT)"
            SigningTarget="@(FileToSign)"
            TargetFrameworkVersion="v4.5" />
    </Target>
</Project>

Notitie

De vingerafdruk van het certificaat is de SHA-1-hash van het certificaat. In het voorbeeld wordt ervan uitgegaan dat een omgevingsvariabele CERTIFICATE_THUMBPRINT die de vingerafdruk bevat. Zie De SHA-1-hash van een vertrouwd basis-CA-certificaat verkrijgenvoor meer informatie. Als u de vingerafdruk van de certificaatgegevens kopieert en plakt, moet u ervoor zorgen dat u het extra (3F) niet-zichtbare teken niet opneemt, waardoor SignFile het certificaat mogelijk niet kan vinden.

Zie ook