Compartir a través de


SignFile (Tarea)

Firma un archivo determinado con el certificado especificado.

Parámetros

En la siguiente tabla se describen los parámetros de la tarea SignFile.

Tenga en cuenta que los certificados SHA-256 solo están permitidos en equipos que tienen .NET 4.5 y versiones posteriores.

Advertencia

A partir de Visual Studio 2013 Update 3, esta tarea tiene una signatura nueva que le permite especificar la versión del marco de trabajo de destino para el archivo.Le recomendamos utilizar la nueva firma, siempre que sea posible, ya que el proceso de MSBuild solo utiliza hashes SHA-256 cuando el marco de trabajo de destino es .NET 4.5 o una versión posterior.Si el marco de trabajo destino es .NET 4.0 o una versión anterior, no se utilizará el hash SHA-256.

Parámetro

Descripción

CertificateThumbprint

Parámetro String requerido.

Especifica el certificado que se va a usar en la signatura. Este certificado debe estar ubicado en el almacén personal del usuario actual.

SigningTarget

Parámetro ITaskItem requerido.

Especifica los archivos que se van a firmar con el certificado.

TimestampUrl

Parámetro String opcional.

Especifica la dirección URL del servidor con marca de tiempo.

TargetFrameworkVersion

La versión de .NET Framework la que se utiliza para el destino.

Comentarios

Además de los parámetros enumerados anteriormente, esta tarea hereda los parámetros de la clase Task. Para obtener una lista de estos parámetros adicionales y sus descripciones, vea Task Base (Clase).

Ejemplo

En el ejemplo siguiente se utiliza la tarea SignFile para firmar los archivos especificados en la colección de elementos FilesToSign con el certificado definido por la propiedad 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>

Nota

La huella digital del certificado es el hash SHA-1 del certificado.Para obtener más información, consulte el artículo sobre cómo obtener el hash SHA-1 de un certificado de entidad de certificación raíz de confianza.

En el ejemplo siguiente se utiliza la tarea Exec para firmar los archivos especificados en la colección de elementos FilesToSign con el certificado definido por la propiedad Certificate. Puede utilizar esto para firmar archivos de Windows Installer durante el proceso de generación.

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

Vea también

Conceptos

Tareas de MSBuild

Otros recursos

Referencia de tareas de MSBuild