JHB의 프로그래밍 삽질기

Windows Vista 응용프로그램, 드라이버에 코드 사이닝 하기 본문

PROGRAMMING/Driver

Windows Vista 응용프로그램, 드라이버에 코드 사이닝 하기

roter 2010.04.20 18:57

윈도우 비스타는 기본적으로 드라이버에 서명이 돼있지 않으면 로딩하지 않는다.
Vista이전에서는 Signcode.exe로 코드 사이닝이 됐지만 Vista부터는 Signtool을 사용해야 한다.


SignTool을 사용하기 위해 우선 갖고 있는 인증서 파일(pvk, spc파일)을 pfx로 변환해 주어야 한다.
이는 pvk2pfx를 사용한다.



cmd에서

pvk2pfx -pvk 인증서이름.pvk -pi 비밀번호 -spc 인증서이름.spc -pfx 인증서이름.pfx -po 비밀번호 -f

해주면 인증서이름.pfx 파일이 생성된다. 이를 더블클릭해서 my (개인)에 등록한다.

이후 VeriSign의 경우 아래 파일과 Signtool을 이용하여 계속해서 싸인해주면 되겠다.


내가 한 것이 VeriSign밖에 없기 때문에 다른 것은 패스..
이제 모두 한 폴더에 넣어놓고

signtool.exe sign /v /ac MSCV-VSClass3.cer /f 회사이름.pfx /p 비밀번호 /t http://timestamp.verisign.com/scripts/timestamp.dll 파일이름.확장자

해주면 코드사인이 완료된다. 마지막줄에 대해 인터넷에서 수많은 글들이 있는데.. 난 다른건 다 에러 뜨고 저렇게 한것만 되더라..


------------내용추가 2011.11.23--------------
signtool sign /v /d "TITLE" /f "인증서이름.pfx" /t http://timestamp.verisign.com/scripts/timestamp.dll /p [password] [파일이름.확장자]
해주면 MSCV-VSClass3.cer 파일 없이도 되는 것 같다

예를 들면
signtool sign /v /d "Roter Application Installer" /f "roter.pfx" /t http://timestamp.verisign.com/scripts/timestamp.dll /p 12341234 setup.exe

이렇게 말이다.
1 Comments
댓글쓰기 폼