2011년 1월 25일 화요일

코드사인(codesign) 자동화

 

프로그램을 배포할 때 설치파일이나 CAB 파일을 만들어서 배포하려면 바이너리나 설치파일, CAB 파일에 응용 프로그램 인증 즉 코드사인이 필요하다. 코드사인을 할 때 보통 spc, pvk 인증서, 개인키 파일을 이용해서 signcode.exe로 코드사인하는 경우 항상 비밀번호를 입력해줘야 하는 불편이 있고 프로세스를 자동화할 수 없게 만든다. 다음처럼 인증서와 개인키 파일을 임포트하게 되면 그러한 불편 없이 바로 코드사인이 가능하다.
1. pvkimprt.exe 파일을 다운로드해서 적당한 위치에 압축을 해제한다.
http://www.microsoft.com/downloads/details.aspx?FamilyID=F9992C94-B129-46BC-B240-414BDFF679A7&displaylang=EN
2. pvkimprt.exe를 실행한다.

pvkimprt mycert.spc mykey.pvk
3. 개인키 비밀번호를 물어보면 비밀번호를 입력한다.
4. [다음]을 누른다.
5. 인증서 종류를 기준으로 인증서 저장소를 자동으로 선택에 체크하고 [다음]을 누른다.
6. [마침]을 누른다.
7. 임포트한 인증서는 IE에서 도구 > 인터넷 옵션 > 내용 > 인증서의 개인탭에서 확인할 수 있다.
(signcode를 실행하려면 인증서의 "발급 대상"을 확인한다.)
8. signcode.exe를 실행한다.
signcode -cn "인증서 발급 대상(CN)" -n "설명" -i "정보 URL" -t http://timestamp.verisign.com/scripts/timstamp.dll "대상 파일"
9. 비밀번호 입력없이 코드사인이 완료된다.
이외에도 "pvkimprt -pfx mycert.spc mykey.pvk"를 실행하거나 IE의 인증서 다이얼로그에서 내보내기를 선택하면 인증서를 pfx파일로 내보내기 할 수 있고 signtool.exe에 다음처럼 코드사인도 가능하다.
signtool sign /f mycomp.pfx /p password /v /d "설명" /du "정보 URL" /t http://timestamp.verisign.com/scripts/timstamp.dll "대상 파일"

잔잔한 파도 :: 코드사인(codesign) 자동화


만약 오류가 발생할경우 http://www.xxeo.com/archives/2004/05/06/whipped-cream-microsoft-authenticode-pvkmprtexeerror-000004c0-and-other-delights.html
참고.

댓글 없음:

댓글 쓰기