728x90
((( 준비작업 )))

A. 인증서 신청은
  Netscape Object Signing 인증서를 신청
 또는
  Microsoft Authenticode로 받은 인증서를 Netscape로 변환하여 사용

(일반적으로 사용가능한 Microsoft Authenticode 를 받는 편이 유리)

B. pvkimprt 를 통해 받은 spc , pvk 파일을 레지스트리로 import 시킨다.
pvkimprt 다운로드 : http://www.certkorea.co.kr/pds/pvkimprt.exe


   > pvkimprt -import nine4u.spc nine4u.pvk
   a. 비밀번호를 물어보는 창에서 개인키 비밀번호를 입력한다.
   b. 다음
   c. 인증서 종류 기준으로 인증서 저장소를 자동으로 선택 (default) 에 체크 -> 다음
   d. 마침.
   e. 이상으로 레지스트리에 인증서가 import 된다.
   확인: IE(브라우저) 에서 도구>인터넷옵션>내용>인증서 에서 개인탭을 보시면 발급대상에 추가된 인증서 확인가능


C. 인증서에 이름 부여
  a. IE 의 도구 > 인터넷 옵션 > 내용 > 인증서
  b. 인증서 선택
  c. 보기 > 자세히 > 속성편집
  d. 이름입력 후 확인 (예) nine4uCodeSign


D. pvkimprt 를 통해 pfx 파일로 export 시킨다.
   > pvkimprt -pfx nine4u.spc nine4u.pvk
   a. 비밀번호를 물어보는 창에서 개인키 비밀번호를 입력한다.
   b. 다음
   c. 예, 개인키를 내보냅니다. (default) 에 체크 -> 다음
   d. 가능하면 인증 경로에 있는 인증서 모두 포함 (체크)
      그외 체크 모두 없애고 다음
   e. 암호 , 암호확인 입력 후 다음
   f. 파일이름은 저장할 pfx 파일 이름을 입력합니다. (예: nine4u.pfx) 다음.
   g. 마침.


(참고) http://www.certkorea.co.kr/doc.asp?g_dev_conv


((( 코드사인 시작~~ )))

-------
다음은 윈도우 플랫폼에서 Firefox 플러그인 코드사인 방법입니다.

1. Mozilla FTP 사이트에서 최신의 Network Security Services (NSS) 패키지를 다운 받습니다. :
ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/
윈도우 사용자는 NSS_3_9_RTM/WINNT5.0_OPT.OBJ/ 에서 nss-3.9.zip 을 받습니다.


2. 원하시는 곳에 압축을 풉니다. 예)  C:\Apps\nss-3.9\


3. Mozilla FTP 사이트에서 최신의 Netscape Portable Runtime 을 다운 받습니다. 
http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/
윈도우 사용자는 v4.6/WINNT5.0_OPT.OBJ/ 에서 nspr-4.6.zip 을 받습니다.


4. 압축을 풉니다.  예) C:\Apps\nspr-4.6\


5.  NSS 의 bin , lib, nspr 의 lib 를 시스템 path 에 추가합니다.
   제어판 > 시스템 속성 > 고급 > 환경변수 > 시스템변수 에 추가하거나,
   또는 실행시 마다 설정 하실 수 있습니다.

   윈도우의 경우 몇몇 파일들 (예로, certutil.exe) 은 \widnows\system32\ 에 이미 포함되어 있으니,
   새로 추가된 파일들이 실행되도록 하기 위해 추가될 경로는 기존의 path 앞에 위치 시킵니다.

  설정 예)
          C:\> set PATH=C:\Apps\nss-3.9\bin\;C:\Apps\nss-3.9\lib\;C:\Apps\nspr-4.6\lib\;%PATH%


6. NSS 툴 문서 함 읽어 보시고~ (패스 )


7. 인증서 DB 초기화
  인증서 DB 파일을 위치시킬 폴더를 결정합니다. 다음 명령으로 DB 파일을 생성합니다. ( -d 옵션뒤에 . (마침표) 있음)


  Code:
       C:\Projects\CodeSigning\> certutil -N -d .
  => 현재디렉토리에 인증서 DB 파일을 새로 생성 한다.

  다음 내용과 같이 NSS Certificate database 의 password 를 물어 봅니다.
  (중요) 절대 잊어 버리면 안됩니다.
  뒤에도 비번이 나오는데 NSS 인증서 DB 비번과 , 인증서의 개인키 비번은 별개 입니다. 혼동주의!

   Code:
C:\Projects\CodeSigning\> certutil -N -d .
Enter a password which will be used to encrypt your keys.
The password should be at least 8 characters long,
and should contain at least one non-alphabetic character.

Enter new password:
Re-enter password:


이후 dir 해보시면
cert8.db , key3.db , secmod.db 파일 3개가 생성되어 있음을 확인 할 수 있습니다.


8. 위에서 준비한 pfx 파일을 NSS cert DB 에 import 시킵니다.

Code:
C:\Projects\CodeSigning> pk12util -i "nine4uCodeSign" -d .
Enter Password or Pin for "NSS Certificate DB":  <- 7번 단계에서 입력한 비밀번호
Enter password for PKCS12 file:                  <- 인증서 개인키 비밀번호
pk12util: PKCS12 IMPORT SUCCESSFUL
; nine4uCodeSign 은 위의 C 단계에서 지정한 인증서 이름입니다.


; 다음 명령으로 인증서가 추가된 것을 확인 하실 수 있습니다.
C:\Projects\CodeSigning> certutil -L -d .
nine4uCodeSign                                               u,u,u
Thawte Code Signing CA - Thawte Consulting cc                c,,c



9. 싸인을 위한 XPI 파일을 준비 합니다.

 새로운 폴더를 하나 생성하고 XPI 파일을 생성된 폴더에 카피 후 경로를 포함하여 압축을 풉니다.
 XPI 파일은 삭제하고 NSS DB 폴더로 돌아갑니다.

(주의) xpi zip 파일내의 파일 순서를 지켜줘야 합니다.
       첫번째 파일은 META-INF/zigbert.rsa 파일이 되어야 합니다.
       순서정렬이 가능한 zip 유틸을 사용하셔야 합니다.

Code:
C:\Projects\CodeSigning\> md signed

C:\Projects\CodeSigning\> copy C:\Projects\fsb\fsb.xpi signed
        1 file(s) copied.

C:\Projects\CodeSigning\> cd signed

C:\Projects\CodeSigning\signed> unzip fsb.xpi
Archive:  fsb.xpi
   creating: chrome/
  inflating: chrome.manifest
  inflating: chrome/fsb.jar
  inflating: install.rdf

C:\Projects\CodeSigning\signed> del fsb.xpi

C:\Projects\CodeSigning\signed> cd ..


10. 싸인 합니다.

Code:
C:\Projects\CodeSigning\> signtool -d . -k nine4uCodeSign -p "NSS패스워드" signed/
using certificate directory: .
Generating signed//META-INF/manifest.mf file..
--> chrome/fsb.jar
--> chrome.manifest
--> install.rdf
Generating zigbert.sf file..
tree "signed/" signed successfully

11. XPI 로 다시 패키징 합니다.

signed 폴더로 가서 META-INF/zigbert.rsa 파일을 처음에 오도록 zip 합니다.

Code:
C:\Projects\Certs\> cd signed

C:\Projects\CodeSigning\signed\> zip fsb.xpi META-INF/zigbert.rsa
  adding: META-INF/zigbert.rsa (deflated 35%)

C:\Projects\CodeSigning\signed> zip -r -D fsb.xpi * -x META-INF/zigbert.rsa
  adding: META-INF/manifest.mf (deflated 37%)
  adding: META-INF/zigbert.sf (deflated 40%)
  adding: chrome/fsb.jar (deflated 74%)
  adding: chrome.manifest (deflated 69%)
  adding: install.rdf (deflated 62%)

12. 완료.


인증서 신청  :  THAWTE : www.certkorea.co.kr,  VERISIGN : www.ssl.co.kr

+ Recent posts