SignFile 작업
지정된 인증서를 사용하여 지정된 파일에 서명합니다. SignFile은 ClickOnce 파일에 서명하기 위한 것입니다.
signtool.exe
도구의 래퍼이며 범용 서명 작업이 아닙니다.
매개 변수
다음 표에서는 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 매개 변수입니다. .exe 또는 .dll형식의 인증서를 사용하여 서명할 파일을 지정합니다. |
TimestampUrl |
선택적 String 매개 변수입니다.타임스탬핑 서버의 URL을 지정합니다. |
TargetFrameworkVersion |
대상에 사용되는 .NET Framework의 버전입니다. |
발언
이 작업은 위에 나열된 매개 변수 외에도 Task 클래스의 매개 변수를 상속합니다. 이러한 추가 매개 변수 및 해당 설명 목록은 Task 기본 클래스참조하세요.
SignFile을 사용하려면 경로에서 signtool.exe
도구를 찾으려면 Visual Studio 또는 Windows 8.1 SDK를 설치해야 합니다. 빌드 도구만 설치된 CI/CD 시나리오에서는 사용할 수 없습니다.
본보기
다음 예제에서는 SignFile
작업을 사용하여 CertificateThumbprint
속성에 지정된 인증서를 사용하여 FilesToSign
항목 컬렉션에 지정된 파일에 서명합니다.
<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="$(CERTIFICATE_THUMBPRINT)"
SigningTarget="@(FileToSign)"
TargetFrameworkVersion="v4.5" />
</Target>
</Project>
메모
인증서 지문은 인증서의 SHA-1 해시입니다. 이 예제에서는 지문이 포함된 환경 변수 CERTIFICATE_THUMBPRINT
가정합니다. 자세한 내용은 신뢰할 수 있는 루트 CA 인증서SHA-1 해시 가져오기를 참조하세요. 인증서 세부 정보에서 지문을 복사하여 붙여넣는 경우 추가(3F) 보이지 않는 문자를 포함하지 않도록 하여 SignFile
인증서를 찾을 수 없도록 합니다.