Задача SignFile
Подписывание указанного файла указанным сертификатом.
Параметры
В следующей таблице описаны параметры задачи SignFile.
Параметр |
Описание |
---|---|
CertificateThumbprint |
Обязательный параметр типа String. Задает сертификат, используемый для подписания.Этот сертификат должен находиться в личном хранилище текущего пользователя. |
SigningTarget |
Обязательный параметр ITaskItem. Задает файлы, подписываемые сертификатом. |
TimestampUrl |
Необязательный параметр типа String. Задает URL-адрес сервера отметок времени. |
Заметки
Помимо параметров, которые перечислены выше, эта задача наследует параметры от класса Task.Чтобы получить список этих доп параметров и их описаний, см. Базовый класс Task.
Пример
В следующем примере задача SignFile используется для подписания файлов, заданных коллекцией элементов FilesToSign, с использованием сертификата, заданного свойством Certificate.
<Project xmlns="https://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)" />
</Target>
</Project>
Примечание |
---|
Отпечаток сертификата — хэш SHA1 сертификата.Для получения дополнительной информации см. Obtain the SHA-1 Hash of a Trusted Root CA Certificate. |
В следующем примере задача Exec используется для подписания файлов, заданных коллекцией элементов FilesToSign, с использованием сертификата, заданного свойством Certificate.Это можно использовать для подписывания файлов установщика Windows во время процесса построения.
<Project xmlns="https://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)" "/>
</Target>
</Project>