SignFile, tâcheSignFile Task

Signe le fichier spécifié à l'aide du certificat spécifié.Signs the specified file using the specified certificate.

ParamètresParameters

Le tableau ci-dessous décrit les paramètres de la tâche SignFile.The following table describes the parameters of the SignFile task.

Notez que les certificats SHA-256 ne sont autorisés que sur les ordinateurs où est installé le .NET 4.5 et version ultérieure.Note that SHA-256 certificates are allowed only on machines that have .NET 4.5 and higher.

Avertissement

Depuis Visual Studio 2013 Update 3, cette tâche possède une nouvelle signature qui permet de spécifier la version cible de .NET Framework pour le fichier.Starting in Visual Studio 2013 Update 3, this task has a new signature that allows you to specify the target framework version for the file. Vous êtes encouragé à utiliser la nouvelle signature dans la mesure du possible, car le processus MSBuild n'utilise les hachages SHA-256 que lorsque la version cible du .NET Framework est .NET 4.5 ou version ultérieure.You are encouraged to use the new signature wherever possible, because the MSBuild process uses SHA-256 hashes only when the target framework is .NET 4.5 or higher. Si la version cible du .NET Framework est .NET 4.0 ou version antérieure, le hachage SHA-256 ne sera pas utilisé.If the target framework is .NET 4.0 or below, the SHA-256 hash will not be used.

ParamètreParameter DescriptionDescription
CertificateThumbprint Paramètre String requis.Required String parameter.

Spécifie le certificat à utiliser pour la signature.Specifies the certificate to use for signing. Ce certificat doit se trouver dans le magasin personnel de l'utilisateur actuel.This certificate must be in the current user's personal store.
SigningTarget Paramètre ITaskItem requis.Required ITaskItem parameter.

Spécifie les fichiers à signer avec le certificat.Specifies the files to sign with the certificate.
TimestampUrl Paramètre String facultatif.Optional String parameter.

Spécifie l'URL d'un serveur d'horodatage.Specifies the URL of a time stamping server.
TargetFrameworkVersion Version du .NET Framework utilisée pour la cible.The version of the .NET Framework that is used for the target.

NotesRemarks

En plus des paramètres énumérés ci-dessus, cette tâche hérite des paramètres de la classe Task.In addition to the parameters listed above, this task inherits parameters from the Task class. Pour obtenir la liste de ces paramètres supplémentaires et leurs descriptions, consultez Task, classe de base.For a list of these additional parameters and their descriptions, see Task Base Class.

ExempleExample

L'exemple suivant utilise la tâche SignFile pour signer les fichiers spécifiés dans la collection d'éléments FilesToSign avec le certificat spécifié par la propriété Certificate.The following example uses the SignFile task to sign the files specified in the FilesToSign item collection with the certificate specified by the Certificate property.

<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>  

Note

L'empreinte de certificat correspond au hachage SHA-1 du certificat.The certificate thumbprint is the SHA-1 hash of the certificate. Pour plus d’informations, consultez Obtenir le hachage SHA-1 d’un certificat d’autorité de certification racine de confiance.For more information, see Obtain the SHA-1 Hash of a Trusted Root CA Certificate.

ExempleExample

L'exemple suivant utilise la tâche Exec pour signer les fichiers spécifiés dans la collection d'éléments FilesToSign avec le certificat spécifié par la propriété Certificate.The following example uses the Exec task to sign the files specified in the FilesToSign item collection with the certificate specified by the Certificate property. Vous pouvez l'utiliser pour signer les fichiers Windows Installer pendant le processus de génération.You can use this to sign Windows Installer files during the build process.

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

Voir aussiSee Also

Task Reference (Informations de référence sur les tâches MSBuild) Task Reference
TâchesTasks