SignFile 작업SignFile Task

지정된 인증서를 사용하여 지정한 파일에 서명을 합니다.Signs the specified file using the specified certificate.

매개 변수Parameters

다음 표에서는 SignFile 작업의 매개 변수에 대해 설명합니다.The following table describes the parameters of the SignFile task.

SHA-256 인증서는 .NET 4.5 이상이 설치된 컴퓨터에서만 사용할 수 있습니다.Note that SHA-256 certificates are allowed only on machines that have .NET 4.5 and higher.

경고

Visual Studio 2013 업데이트 3부터는 이 작업에 새 시그니처가 포함되어 파일의 대상 프레임워크 버전을 지정할 수 있습니다.Starting in Visual Studio 2013 Update 3, this task has a new signature that allows you to specify the target framework version for the file. MSBuild 프로세스에서는 대상 프레임워크가 .NET 4.5 이상일 때만 SHA-256 해시를 사용하므로 가능하면 항상 새 시그니처를 사용하는 것이 좋습니다.You are encouraged to use the new signature wherever possible, because the MSBuild process uses SHA-256 hashes only when the target framework is .NET 4.5 or higher. 대상 프레임워크가 .NET 4.0 이하이면 SHA-256 해시는 사용되지 않습니다.If the target framework is .NET 4.0 or below, the SHA-256 hash will not be used.

매개 변수Parameter 설명Description
CertificateThumbprint 필수 String 매개 변수입니다.Required String parameter.

서명에 사용할 인증서를 지정합니다.Specifies the certificate to use for signing. 이 인증서는 현재 사용자의 개인 저장소에 있어야 합니다.This certificate must be in the current user's personal store.
SigningTarget 필수 ITaskItem 매개 변수입니다.Required ITaskItem parameter.

인증서를 사용하여 서명할 파일을 지정합니다.Specifies the files to sign with the certificate.
TimestampUrl 선택적 String 매개 변수입니다.Optional String parameter.

타임스탬프 서버의 URL을 지정합니다.Specifies the URL of a time stamping server.
TargetFrameworkVersion 대상에 대해 사용되는 .NET Framework 버전입니다.The version of the .NET Framework that is used for the target.

설명Remarks

이 작업은 위에 나와 있는 매개 변수 외에 Task 클래스의 매개 변수도 상속합니다.In addition to the parameters listed above, this task inherits parameters from the Task class. 이러한 추가 매개 변수 및 해당 설명이 포함된 목록은 Task 기본 클래스를 참조하세요.For a list of these additional parameters and their descriptions, see Task Base Class.

예제Example

다음 예제에서는 SignFile 작업을 통해 FilesToSign 속성으로 지정된 인증서를 사용하여 Certificate 항목 컬렉션에 지정된 파일에 서명을 합니다.The following example uses the SignFile task to sign the files specified in the FilesToSign item collection with the certificate specified by the Certificate property.

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

참고

인증서 지문은 인증서의 SHA-1 해시입니다.The certificate thumbprint is the SHA-1 hash of the certificate. 자세한 내용은 신뢰할 수 있는 루트 CA 인증서의 SHA-1 해시 얻기를 참조하세요.For more information, see Obtain the SHA-1 Hash of a Trusted Root CA Certificate.

예제Example

다음 예제에서는 Exec 작업을 통해 FilesToSign 속성으로 지정된 인증서를 사용하여 Certificate 항목 컬렉션에 지정된 파일에 서명을 합니다.The following example uses the Exec task to sign the files specified in the FilesToSign item collection with the certificate specified by the Certificate property. 이 방법으로 빌드 프로세스 중에 Windows Installer 파일에 서명을 할 수 있습니다.You can use this to sign Windows Installer files during the build process.

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

참고 항목See Also

작업 참조 Task Reference
작업Tasks