응용프로그램 인증 가이드 |
|
※ 인증 작업을 진행하시다가 에러가 발생하는 경우에는 코드사인 에러
테이블을
참조하시기 바랍니다.
-> 코드사인 에러 테이블
|
일반적인 순서 |
① Cab 파일 생성 |
② 생성된 Cab파일 Codesign 하기 |
③ 사인된 Cab파일 확인 |
|
|
|
세부 설치 가이드 |
|
1. 인증서를 설치하기 위하여 다음 프로그램을 다운로드 받아 압축을 풉니다 |
|
|
• 실행하면 압축이 자동으로 풀립니다.
• 발급받은 인증키(*.pvk, *.spc)가 저장되어진 폴더에 압축을
풉니다. |
|
< Codesign.exe
파일구성 > |
• CabArc.exe |
Cabinet Archive를 생성해 주는 프로그램. 우리의 애플릿 클래스 파일들을 Cabinet 파일로 만들어 준다.
|
• SignCode.exe |
Cabinet 파일을 우리의 비밀키와 인증서로 사인해준다. |
• ChkTrust.exe |
사인 작업이 잘 수행되었는가 검증해 주는 프로그램. |
• MakeCert.exe |
시험용 인증서를 만들어 주는 프로그램 |
• Cert2Sp |
MakeCert로 만들어진 시험용 인증서를 사인하는 작업에 사용될 수 있도록 변환해 주는 프로그램 |
• Javasign.dll |
사인 작업 시 필요한 정보를 지정해 주는 데에 사용되는
프로그램 |
|
|
|
|
2. MS-DOS에서 해당 파일이 저장되어있는 폴더로 이동합니다. |
|
|
|
3. -CAB 파일 생성- Application을 사인하기 위하여 CAB Archive 파일을 만든다. |
|
Usage: CABARC [options] command cabfile [@list]
[files] [dest_dir]
기본 예> cabarc -s 6144 N ABC.cab
ABC1.ocx ABC2.ocx |
|
1) 하나의 파일을 Cab 파일로 생성
CabArc n ABC.cab
ABC.class |
2) 적은수의 파일을 Cab 파일로 생성
- 3개의 파일(ABC1.ocx, ABC2.ocx, ABC1.inf)로 Cab 파일
생성
Cabarc n ABC.cab ABC1.ocx ABC2.ocx
ABC.inf
|
< Cabarc Guide
> |
Command |
L |
Cabinet(CAB) 파일의 목록 보기 (예: CabArc l test.cab) |
N |
새로운 cabinet 파일 생성 (예: CabArc n test.cab *.c app.mak
*.h) |
X |
Cabinet 파일로부터 파일 꺼내기 (예: CabArc x test.cab foo*.c) |
Options |
-c |
작업할 파일 확인하기 |
-o |
파일을 꺼낼 때, 사용자에게 묻지 않고 덮어쓰기 |
-m |
압축 형태 지정 [LZX:<15..21>|MSZIP|NONE], (기본 형태는 MSZIP) |
-p |
파일명에 파일 경로 포함하기 (단, 상대 경로만 허용) |
-P |
파일 포함 시 지정된 접두어 생략하기 (주로, 파일 경로의 일부가 지정됨) |
-r |
하위 디렉토리의 파일까지 포함하기 (주로, -p 옵션과 함께 사용) |
-s |
Cabinet 파일 내에 사인 정보를 둘 여유 공간 확보 (예: -s 6144 => 6K bytes).
Java SDK 2.0부터는 필요 없음 |
-I |
Cabinet 생성시 'Cabinet Set ID' 지정 (기본 아이디는
0) |
|
|
|
|
|
|
4. - Codesign - 발급된 인증서를 사용하여 코드사인 합니다. |
|
< Uage: SignCode [options]
FileName >
※ 대표적으로 5개의 Option을 가장 많이
사용합니다. |
1) 기본사인하기 :
signcode -spc [파일.spc] -v [파일.pvk] -n
[프로그램이름] -i [부가설명URL]
-t
http://timestamp.verisign.com/scripts/timestamp.dll [사인할파일명] |
2) 개인키 패스워드 창이 나오면 지정된 암호를 입력하시기 바랍니다. |
※ signcode 작업을 진행하시다가 에러가 발생하는 경우에는
[애니서트 코드사인 에러
테이블]을 참조하시기 바랍니다.
-> [애니서트 코드사인 에러
테이블]
만약, [애니서트 코드 사인 에러 테이블]을 보시고 잘 해결되지 않는 부분에 대해서는 애니서트
메일로 에러 상황을 리포트해 주신다면 코드 사인 에러에 대해서 지원해 드릴 수 있습니다. |
|
|
※ 대부분 codesign에 성공하나 아래와 같은 오류 메시지가 나올 수 있습니다.
이는
잘못된 명령이 아니오며, Timestamp 서버에 접속이 실패한 것입니다.
다시 Succeded 멧세지가 나올때까지 시도하시기
바랍니다. |
|
3) 사인이 끝났습니다. 서명된 내용을 확인합니다.
: Chktrust
[파일명] |
|
|
< SignCode Option
Guide > |
|
Options |
Parameter |
설 명 |
-spc |
file |
SPC를 포함하는 파일명 |
-v |
pvkFile |
비밀키를 포함하고 있는 파일명 |
-k |
KeyName |
레지스트리 내의 키 이름 |
-n |
name |
사인할 내용에 대한 텍스트 이름 |
-I |
info |
사인할 내용에 대한 부가 설명이 있는 장소(예:URL) |
-p |
provider |
시스템내의 암호화 시스템 제공자 이름 |
-y |
type |
시스템내의 암호화 시스템 제공자 형태 |
ky |
keytype |
키의 종류 <signature|exchange|<정수>> 중 하나 |
-$ |
authority |
인증서를 인증한 기관의 종류. <individual|commercial> 중 하나 |
-a |
algorithm |
사인에 이용된 해쉬 알고리즘. <md5|sha1> 중 하나. MD5가 기본 |
-t |
URL |
Timestamp를 찍어줄 서버의 HTTP 주소 |
-tr |
Number |
Timestamp 간 간격(초단위) 기본은 0 초 |
-j |
DllName |
사인에 필요한 부가 특성들을 포함하는 Dll 파일명(예:보안레벨) |
-jp |
Param |
Dll 파일에 넘실 Parameter |
-c |
File |
인코딩된 spc를 포함한 X.509 파일명 |
-s |
Store |
인증서를 가지고 있는 인증서 보관소명, 기본은 my store |
-r |
Location |
레지스트리 내의 인증서 보관소의 위치
<localMachine|currentUser> 중 하나. 기본은
currentUser |
-sp |
Policy |
인증서 검증에 필요한 모든 인증서를 포함할 것인가 아니면 SPC 보관소(Store)에 들어있는 인증서가 나올 때까지 포함할 것인가에 대한
정책. <chain|spcstore> 중 하나. 기본은 spcstore. |
-cn |
Name |
인증서의 일반 이름(별명) |
-x |
|
사인하지 말고 Timestamp만 받을것을
명시 |
|
|
|
|
|