Tarefa SignFile
Assina o arquivo especificado usando o certificado especificado.
Parâmetros
A tabela a seguir descreve os parâmetros da tarefa SignFile.
Observe que os certificados SHA-256 são permitidos apenas em computadores que tenham o .NET 4.5 e superior.
Aviso
A partir do Visual Studio 2013 Atualização 3, essa tarefa tem uma nova assinatura que permite que você especifique a versão da estrutura de destino do arquivo.Você é incentivado a usar a nova assinatura sempre que possível, pois o processo do MSBuild usa hashes SHA-256 somente quando a estrutura de destino for .NET 4.5 ou superior.Se a estrutura de destino for .NET 4.0 ou abaixo, o hash SHA-256 não será usado.
Parâmetro |
Descrição |
---|---|
CertificateThumbprint |
Parâmetro String obrigatório. Especifica o certificado a ser usado para a assinatura. Esse certificado deve estar no repositório pessoal do usuário atual. |
SigningTarget |
Parâmetro ITaskItem obrigatório. Especifica os arquivos a serem assinados com o certificado. |
TimestampUrl |
Parâmetro String opcional. Especifica a URL de um servidor de carimbo de data/hora. |
TargetFrameworkVersion |
A versão do .NET Framework que é usada para o destino. |
Comentários
Além dos parâmetros listados acima, essa tarefa herda parâmetros da classe Task. Para obter uma lista desses parâmetros adicionais e de suas descrições, consulte Classe base Task.
Exemplo
O exemplo a seguir usa a tarefa SignFile para assinar os arquivos especificados na coleção de itens FilesToSign com o certificado especificado pela propriedade 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)"
TargetFrameworkVersion="v4.5" />
</Target>
</Project>
Dica
A impressão digital do certificado é o hash SHA-1 do certificado.Para obter mais informações, consulte Obter o hash SHA-1 de um certificado de autoridade de certificação raiz confiável.
O exemplo a seguir usa a tarefa Exec para assinar os arquivos especificados na coleção de itens FilesToSign com o certificado especificado pela propriedade Certificate. Você pode usar isso para assinar 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)" "/>
<SignFile
CertificateThumbprint="$(CertificateThumbprint)"
SigningTarget="@(FileToSign)"
TargetFrameworkVersion="v4.0" />
</Target>
</Project>