Tarefa SignFile

 

Publicado: abril de 2016

Para obter a documentação mais recente do Visual Studio 2017 RC, consulte a documentação do Visual Studio 2017 RC.

Assina o arquivo especificado usando o certificado especificado.

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.

System_CAPS_ICON_warning.jpg 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âmetroDescrição
CertificateThumbprintParâ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.
SigningTargetParâmetro ITaskItem obrigatório.

Especifica os arquivos a serem assinados com o certificado.
TimestampUrlParâmetro String opcional.

Especifica a URL de um servidor de carimbo de data/hora.
TargetFrameworkVersionA versão do .NET Framework que é usada para o destino.

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.

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="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 Observação

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

Referência de tarefas
(tarefas)

Mostrar: