파일 서명 도구(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