사이트 내 전체검색
PHP
웹 배포용 cab 파일 만들기
로빈아빠
https://cmd.kr/php/278 URL이 복사되었습니다.

본문

cab 파일 만들기

 

자세한 내용(잘몰라요 ^^;;;;) 은 아니지만, 제가 경험한 겁니다.

그리고, 분산된 관련 자료를 스크랩해서 하나로 모아봤습니다.  많은 도움이 되시기를~

 

ocx와 *.inf를 같은 폴더에 위치시키고


cab.bat파일을 편집

 

CabArc.exe: Cabinet Archive를 생성해 주는 프로그램. 애플릿 클래스 파일들을 Cabinet 파일로 만들어 줍니다. SignCode.exe: Cabinet 파일을 비밀키와 인증서로 싸인해 줍니다. ChkTrust.exe: 싸인 작업이 잘 수행되었는가 검증해 주는 프로그램 입니다. MakeCert.exe: 시험용 인증서를 만들어 주는 프로그램 입니다. Cert2Spc: MakeCert로 만들어진 시험용 인증서를 사인하는 작업에 사용될 수 있도록 변환해

                  주는 프로그램 입니다.

 

[출처] http://dstein.egloos.com/1816009

 

ex)
1) Cabinet Archive를 생성
cabarc.exe N VrsUploadProj1.cab(만들 파일 이름) VrsUploadProj1.inf VrsUploadProj1.ocx
(ocx와 설정파일)

 

< 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) 

 

2)인증서 암호는 아무거나 넣어도 됨
makecert -sv "VrsUploadProj1.pvk" -n "CN=BlahBlah ActiveX Control" VrsUploadProj1.cer

 

3) MakeCert로 만들어진 시험용 인증서를 사인하는 작업에

   사용될 수 있도록 변환
cert2spc VrsUploadProj1.cer VrsUploadProj1.spc

 

4) 발급된 인증서를 사용하여 코드사인 합니다
signcode -v VrsUploadProj1.pvk -spc VrsUploadProj1.spc VrsUploadProj1.cab

 

패스워드 창이 나오면 지정된 암호를 입력하시기 바랍니다. 

signcode -spc [파일명.spc]
-v [파일명.pvk]
-n [싸인할 내용에 대한 이름]
-t [Timestamp를 찍어줄 서버의 HTTP 주소(verisign의 timestamp를 지정 했습니다.)]
[파일이름.cab] 

 

< 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 서버 접속 실패시 재 시도 횟수. 기본은 1회 -tw Number Timestamp간 간격(초단위). 기본은 0초 -j DllName 사인에 필요한 부가 특성들을 포함하는 DLL 파일명 (예:보안 레벨) -jp Param DLL 파일에 넘길 Parameter -c File 인코딩된 SPC를 포함한 X.509 파일명 -s Store 인증서를 가지고 잇는 인증서 보관소(Store)명. 기본은 my store. -r Location 레지스트리 내의 인증서 보관소의 위치. (localMachine|currentUser)중 하나. 기본은 currentUser -sp Policy 인증서 검증에 필요한 모든 인증서를 포함할 것인가 아니면 SPC 보관소(Store)에 들어있는 인증서가 나올 때까지 포함할 것인가에 대한 정책. (chain|spcstore) 중 하나. 기본은 spcstore -cn Name 인증서의 일반 이름(별명) -x . 싸인하지 말고 Timestamp만 받을것을 명시

5) 클라이언트 시스템에서 사용할 수 있도록 레지스트리 등록
setreg -q 1 TRUE

 

6) cab 파일이 올바르게 서명되었는지 확인
chktrust VrsUploadProj1.cab

 

pvk 파일과, spc 파일 생성은 해당 업체에 문의하시고~

 

1,4,5,6 과정만 실행해도 cab 파일을 생성하고 배포할 수 있습니다.

 

주의사항

OCX의 버전과 CAB 파일의 버전이 일치하지 않으면 같은 페이지에 재 접속시 다운이 되지

않는다던가, 접속할때 마다 항상 다운하려는 상황이 발생합니다..

잘 맞추셔야 합니다..

댓글목록

등록된 댓글이 없습니다.

PHP
871 (8/18P)

Search

Copyright © Cmd 명령어 18.217.80.88