SignFile Task

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Signe le fichier spécifié à l'aide du certificat spécifié.

Le tableau ci-dessous décrit les paramètres de la tâche SignFile.

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.

System_CAPS_ICON_warning.jpg 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. 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. Si la version cible du .NET Framework est .NET 4.0 ou version antérieure, le hachage SHA-256 ne sera pas utilisé.

ParamètreDescription
CertificateThumbprintParamètre String requis.

Spécifie le certificat à utiliser pour la signature. Ce certificat doit se trouver dans le magasin personnel de l'utilisateur actuel.
SigningTargetParamètre ITaskItem requis.

Spécifie les fichiers à signer avec le certificat.
TimestampUrlParamètre String facultatif.

Spécifie l'URL d'un serveur d'horodatage.
TargetFrameworkVersionVersion du .NET Framework utilisée pour la cible.

En plus des paramètres énumérés ci-dessus, cette tâche hérite des paramètres de la classe Task. Pour obtenir la liste de ces paramètres supplémentaires et leurs descriptions, consultez Task Base Class.

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.

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

System_CAPS_ICON_note.jpg Remarque

L'empreinte de certificat correspond au hachage SHA-1 du certificat. Pour plus d'informations, consultez Obtenir le hachage SHA-1 d'un certificat d'autorité de certification racine de confiance.

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. Vous pouvez l'utiliser pour signer les fichiers Windows Installer pendant le processus de génération.

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

Task Reference
Tasks

Afficher: