Tarefa de SignFile
Assina o arquivo especificado usando o certificado especificado.
Parâmetros
A tabela a seguir descreve os parâmetros da SignFile de tarefas.
Parâmetro |
Descrição |
---|---|
CertificateThumbprint |
Obrigatório String parâmetro. Especifica o certificado a ser usado para assinatura. Este certificado deve estar no armazenamento pessoal do usuário atual. |
SigningTarget |
Obrigatório ITaskItem parâmetro. Especifica os arquivos para assinar o certificado. |
TimestampUrl |
Opcional String parâmetro. Especifica a URL de uma servidor de carimbo de hora. |
Comentários
Além de para os parâmetros listados acima, esta tarefa herda parâmetros a partir de Task classe. Para obter uma lista desses parâmetros adicionais e suas descrições, consulte Classe Base da tarefa.
Exemplo
O exemplo a seguir usa a SignFile tarefa para assinar os arquivos especificados no FilesToSign item coleção com o certificado especificado pela Certificate propriedade.
<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>
Observação
A impressão digital do certificado é o hash SHA1 do certificado.Para obter mais informações, consulte obter o Hash SHA-1 de um certificado de autoridade de certificação raiz confiáveis.
O exemplo a seguir usa a Exec tarefa para assinar os arquivos especificados no FilesToSign item coleção com o certificado especificado pela Certificate propriedade. Você pode usar isso para assinar os arquivos do Windows Installer durante o processo de compilação.
<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>