다음을 통해 공유


파일 서명 도구(Signcode.exe)

업데이트: 2007년 11월

파일 서명 도구를 사용하면 Authenticode 디지털 서명을 사용하여 PE 파일(이식 가능한 실행 파일 - .dll 또는 .exe 파일)에 서명할 수 있으며 다중 파일 어셈블리에 포함되어 있는 어셈블리나 개별 파일에도 서명할 수 있습니다. 어셈블리를 배포하는 경우에는 개별 파일 대신 어셈블리에 서명해야 합니다. 옵션을 하나도 지정하지 않고 Signcode.exe를 실행하면 서명을 도와 주는 마법사가 실행됩니다.

파일 서명 도구는 .NET Framework SDK 버전 1.0과 1.1에만 제공됩니다. 이후 버전에서는 서명 도구(SignTool.exe) 유틸리티를 대신 사용하십시오.

signcode [options] filename | assemblyname

매개 변수

인수

설명

filename

서명할 PE 파일의 이름입니다.

assemblyname

서명할 어셈블리의 이름입니다. 이 파일은 어셈블리 매니페스트를 포함해야 합니다.

옵션

설명

-$ authority

인증서 서명 기관을 지정합니다. individual 또는 commercial 중 하나로 설정해야 합니다. 기본적으로 Signcode.exe를 실행하면 인증서의 최고 권한을 사용할 수 있습니다.

-a algorithm

서명을 위한 해시 알고리즘을 지정합니다. md5(기본값) 또는 sha1 중 하나로 설정해야 합니다.

-c file

인코딩된 소프트웨어 게시 인증서가 들어 있는 파일을 지정합니다.

-cn name

인증서의 일반 이름을 지정합니다.

-i info

자세한 내용을 볼 수 있는 곳(주로, URL)을 지정합니다.

-j dllName

서명 파일에 대해 인증된 특성 배열을 반환하는 DLL의 이름을 지정합니다. -j 옵션을 반복하면 하나 이상의 DLL을 지정할 수 있습니다.

-jp param

이전 DLL에 전달될 매개 변수를 지정합니다. 예: -j dll1 -jp dll1Param. 매개 변수는 각 DLL에 대해 하나만 사용할 수 있습니다.

-k keyname

키 컨테이너 이름을 지정합니다.

-ky keytype

키 형식을 지정합니다. signature, exchange 또는 정수(예: 4) 중 하나로 설정해야 합니다.

-n name

서명할 파일의 내용을 나타내는 텍스트 이름을 지정합니다.

-p provider

시스템의 암호화 공급자 이름을 지정합니다.

-r location

레지스트리에 있는 인증서 저장소 위치를 지정합니다. currentuser(기본값) 또는 localmachine 중 하나로 설정해야 합니다.

-s store

서명 인증서가 들어 있는 인증서 저장소를 지정합니다. 기본값은 my 저장소입니다.

-sha1 thumbprint

인증서 저장소에 있는 서명 인증서의 sha1 해시를 나타내는 thumbprint를 지정합니다.

-sp policy

인증서 저장소 정책을 설정합니다. spcStore(기본값) 또는 chain 중 하나로 설정해야 합니다.chain을 지정하면 자체 서명 인증서를 포함하여 확인 체인에 있는 모든 인증서가 서명에 추가됩니다. spcStore를 지정하면 트러스트된 자체 서명 인증서는 해당 서명에 추가되는 체인의 인증서에 포함되지 않습니다.

-spc file

소프트웨어 게시 인증서가 들어 있는 SPC file을 지정합니다.

-t URL

해당 파일이 지정된 http 주소의 타임스탬프 서버에 기록됨을 나타냅니다.

-tr number

성공할 때까지 가능한 타임스탬프 최대 시도 횟수를 지정합니다. 기본값은 1로 설정됩니다.

-tw number

타임스탬프 시도 간격을 초 단위로 지정합니다. 기본값은 0으로 설정됩니다.

-v pvkFile

개인 키가 들어 있는 개인 키(.pvk) 파일 이름을 지정합니다.

-x

파일에 타임스탬프는 설정하지만, 서명은 하지 않습니다.

-y type

사용할 암호화 공급자 종류를 지정합니다.

암호화 공급자에는 암호화 표준 및 알고리즘 구현이 포함됩니다. 기본 공급자 형식 목록을 보려면 Platform SDK에서 "Microsoft Cryptographic Service Providers"를 참조하십시오.

-?

이 도구의 명령 구문 및 옵션을 표시합니다.

설명

개인 키가 PVK 파일에 있는 경우 SPC(소프트웨어 게시자 인증서) 파일을 사용하여 서명하려면 -spc-v 옵션을 지정해야 하고, 개인 키가 레지스트리 키 컨테이너에 있는 경우에는 -spc-k 옵션을 지정해야 합니다. SPC 파일을 사용하여 해당 파일에 서명하려면 인증서 작성 도구(Makecert.exe)소프트웨어 게시자 인증서 테스트 도구(Cert2spc.exe)를 사용하여 SPC 파일을 만들어야 합니다.

예제

다음 명령을 사용하여 XYZ.spc 소프트웨어 게시 인증서와 레지스트리 키 컨테이너 XYZ에 있는 개인 키로 XYZ.exe에 서명합니다.

signcode /spc XYZ.spc /k XYZ XYZ.exe

다음 명령을 사용하여 myCertificate.spc의 인증서와 myKey.pvk의 개인 키로 어셈블리 myAssembly에 서명합니다.

signcode /spc myCertificate.spc /v myKey.pvk  myAssembly

참고 항목

개념

보안 권한

참조

.NET Framework 도구

인증서 작성 도구(Makecert.exe)

소프트웨어 게시자 인증서 테스트 도구(Cert2spc.exe)

SDK 명령 프롬프트