Tâche SignFile
Signe le fichier spécifié à l’aide du certificat spécifié. SignFile est destiné uniquement à la signature de fichiers ClickOnce. Il s’agit d’un wrapper pour l’outil signtool.exe
et n’est pas une tâche de signature à usage général.
Paramètres
Le tableau suivant décrit les paramètres de la tâche SignFile
.
Notez que les certificats SHA-256 sont autorisés uniquement sur les machines qui ont .NET 4.5 et versions ultérieures.
Avertissement
À compter de Visual Studio 2013 Update 3, cette tâche a une nouvelle signature qui vous permet de spécifier la version du framework cible pour le fichier. Vous êtes invité à utiliser la nouvelle signature dans la mesure du possible, car le processus MSBuild utilise des hachages SHA-256 uniquement lorsque le framework cible est .NET 4.5 ou version ultérieure. Si le framework cible est .NET 4.0 ou inférieur, le hachage SHA-256 ne sera pas utilisé.
Paramètre | Description |
---|---|
CertificateThumbprint |
Paramètre String obligatoire.Spécifie le certificat à utiliser pour la signature. Ce certificat doit se trouver dans le magasin personnel de l’utilisateur actuel. |
SigningTarget |
Paramètre ITaskItem obligatoire. Spécifie les fichiers à signer avec le certificat, de type .exe ou .dll. |
TimestampUrl |
Paramètre String facultatif.Spécifie l’URL d’un serveur d’horodatage. |
TargetFrameworkVersion |
Version du .NET Framework utilisée pour la cible. |
Remarques
Outre les paramètres répertorié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 de leurs descriptions, consultez classe de base de tâches.
SignFile nécessite l’installation de Visual Studio ou d’un Kit de développement logiciel (SDK) Windows 8.1, afin de trouver l’outil signtool.exe
sur le chemin d’accès. Il ne peut pas être utilisé dans les scénarios CI/CD où seuls les outils de génération sont installés.
Exemple
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é 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>
Note
L’empreinte numérique du certificat est le hachage SHA-1 du certificat. L’exemple ici suppose une variable d’environnement CERTIFICATE_THUMBPRINT
qui contient l’empreinte numérique. Pour plus d’informations, consultez Obtenir le hachage SHA-1 d’un certificat d’autorité de certification racine approuvé. Si vous copiez et collez l’empreinte numérique des détails du certificat, veillez à ne pas inclure le caractère invisible supplémentaire (3F), ce qui peut empêcher SignFile
de trouver le certificat.