다음을 통해 공유


SignFile 작업

지정된 인증서를 사용하여 지정한 파일에 서명을 합니다.

매개 변수

다음 표에서는 SignFile 작업의 매개 변수에 대해 설명합니다.

SHA-256 인증서는 .NET 4.5 이상이 설치된 컴퓨터에서만 사용할 수 있습니다.

경고

Visual Studio 2013 업데이트 3부터는 이 작업에 새 시그니처가 포함되어 파일의 대상 프레임워크 버전을 지정할 수 있습니다.MSBuild 프로세스에서는 대상 프레임워크가 .NET 4.5 이상일 때만 SHA-256 해시를 사용하므로 가능하면 항상 새 시그니처를 사용하는 것이 좋습니다.대상 프레임워크가 .NET 4.0 이하이면 SHA-256 해시는 사용되지 않습니다.

매개 변수

설명

CertificateThumbprint

필수 String 매개 변수입니다.

서명에 사용할 인증서를 지정합니다. 이 인증서는 현재 사용자의 개인 저장소에 있어야 합니다.

SigningTarget

필수 ITaskItem 매개 변수입니다.

인증서를 사용하여 서명할 파일을 지정합니다.

TimestampUrl

선택적 String 매개 변수입니다.

타임스탬프 서버의 URL을 지정합니다.

TargetFrameworkVersion

대상에 대해 사용되는 .NET Framework 버전입니다.

설명

이 작업은 위에 나와 있는 매개 변수 외에 Task 클래스의 매개 변수도 상속합니다. 이러한 추가 매개 변수 및 해당 설명이 포함된 목록은 작업 기본 클래스를 참조하세요.

예제

다음 예제에서는 SignFile 작업을 통해 Certificate 속성으로 지정된 인증서를 사용하여 FilesToSign 항목 컬렉션에 지정된 파일에 서명을 합니다.

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

참고

인증서 지문은 인증서의 SHA-1 해시입니다.자세한 내용은 신뢰할 수 있는 루트 CA 인증서의 SHA-1 해시 얻기를 참조하세요.

다음 예제에서는 Exec 작업을 통해 Certificate 속성으로 지정된 인증서를 사용하여 FilesToSign 항목 컬렉션에 지정된 파일에 서명을 합니다. 이 방법으로 빌드 프로세스 중에 Windows Installer 파일에 서명을 할 수 있습니다.

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

참고 항목

개념

MSBuild 작업

기타 리소스

MSBuild 작업 참조