Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 7. ActiveX 서명 과정 자동화 [링크 복사], [링크+제목 복사],
조회: 34646
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 4개 있습니다.)

ActiveX 서명 과정 자동화

ActiveX 서명을 위해서, 보통 사용되어지는 툴이 signcode.exe이죠. 이 도구를 이용해서 다음과 같은 식의 명령행 인자로 ActiveX에 대해 서명을 하게 됩니다.

signcode /spc myCertificate.spc /v myKey.pvk  myactivex.dll

signcode.exe에는 한 가지 단점이 있지요. 바로 암호를 명령행에서 입력할 수 없고, 반드시 위와 같이 실행한 다음에 나오는 팝업창에 입력을 해야 하는 불편함이 있습니다. 이런 부분이, "자동 빌드" 구현에 가서는 불편함의 정도를 넘어서게 되지요. 그것 때문에 절름발이식 자동 빌드가 되어버리니까요.



일단, ActiveX에 대한 서명까지 자동화하기 위해서는 signcode.exe는 버리셔야 하고요. 대신에 .NET 2.0 SDK에 포함된 signtool.exe를 사용하셔야 합니다. VS.NET 2005가 설치된 경우 다음의 경로에 있습니다.

C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin

명령행 인자는 다음과 같이 주면 됩니다.

signtool sign /f [PFX 파일 경로] /p [인증서 암호] /v [CAB 파일 경로]
ex) signtool sign /f mypfx.pfx /p ffjweor /v Test.cab

여기서 중요한 것은 PFX 파일인데요. 보통 Verisign같은 업체로부터 인증서를 받게 되면 "SPC 파일", "PVK 파일", "암호"를 받게 됩니다. PFX 파일을 쉽게 표현하면, "PFX 파일 = SPC 파일 + PVK 파일"이라고 볼 수 있습니다. 따라서, 업체로부터 받는 SPC 파일과 PVK 파일을 이용해서 PFX 파일을 생성해 내야 하는데요.
이를 위해서 "pvkimprt.exe"라는 파일이 Microsoft에 의해서 제공되어집니다. 다음과 같은 경로에서 다운로드 받을 수 있습니다.

Office 2000 Tool: PVK Digital Certificate Files Importer
; http://www.microsoft.com/downloads/details.aspx?FamilyID=F9992C94-B129-46BC-B240-414BDFF679A7&displaylang=EN


그럼, 모든 설명이 끝났군요. 이젠, 방법을 아셨으니 지금 당장 여러분의 빌드 과정을 자동화하시기 바랍니다. ^^



[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]
[연관 글]






[최초 등록일: ]
[최종 수정일: 6/18/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2015-03-04 11시25분
Createing Self Signed Certificate & Code Signing
; http://ezbeat.tistory.com/497
정성태

... 151  152  153  154  [155]  156  157  158  159  160  161  162  163  164  165  ...
NoWriterDateCnt.TitleFile(s)
1237정성태2/18/201235372개발 환경 구성: 142. Windows Embedded POSReady 7 설치 [1]
1236정성태2/17/201231225개발 환경 구성: 141. Windows 2008 R2 RDP 라이선스 서버 설치하는 방법
1235정성태2/16/201228250.NET Framework: 304. Hyper-V의 가상 머신을 C#으로 제어하는 방법 [1]파일 다운로드1
1234정성태2/16/201230198.NET Framework: 303. 원본 파일의 공백/라인을 유지한 체 XML 파일을 저장하는 방법 [1]파일 다운로드1
1233정성태2/16/201236441.NET Framework: 302. supportedRuntime 옵션과 System.BadImageFormatException 예외 [5]
1232정성태2/9/201232155VC++: 57. 웹 브라우저에서 Flash만 빼고 다른 ActiveX를 차단할 수 있을까? [3]파일 다운로드1
1231정성태2/8/201241549VC++: 56. Win32 API 후킹 - Trampoline API Hooking [5]파일 다운로드1
1230정성태2/6/201226569개발 환경 구성: 140. 프로젝트 생성 시부터 "Enable the Visual Studio hosting process" 옵션을 끄는 방법
1229정성태2/4/201232254.NET Framework: 301. P/Invoke의 성능을 높이기 위해 C++/CLI가 선택되려면? [5]파일 다운로드1
1228정성태2/4/201281714.NET Framework: 300. C#으로 만드는 음성인식/TTS 프로그램 [47]파일 다운로드1
1227정성태2/3/201232393.NET Framework: 299. 해당 어셈블리가 Debug 빌드인지, Release 빌드인지 알아내는 방법파일 다운로드1
1226정성태1/28/201273810.NET Framework: 298. 홀 펀칭(Hole Punching)을 이용한 Private IP 간 통신 - C# [15]파일 다운로드3
1225정성태1/24/201228698.NET Framework: 297. 특정 EXE 파일의 실행을 Internet Explorer처럼 "Protected Mode"로 실행하는 방법 [1]파일 다운로드1
1224정성태1/21/201240309개발 환경 구성: 139. 아마존 EC2에 새로 추가된 "1년 무료 Windows 서버 인스턴스"가 있다는데, 직접 만들어 볼까요? ^^ [11]
1223정성태1/20/201230085.NET Framework: 296. 괜찮은 문자열 해시함수? - 두 번째 이야기 [1]파일 다운로드1
1222정성태1/18/201237638.NET Framework: 295. 괜찮은 문자열 해시 함수? [4]파일 다운로드1
1221정성태1/17/201226774오류 유형: 147. System.Runtime.InteropServices.COMException (0x80005000)
1220정성태1/15/201227330.NET Framework: 294. Master web.config 파일을 수정하려면?파일 다운로드1
1219정성태1/15/201229449.NET Framework: 293. Microsoft PowerPoint 슬라이드를 HTML 파일로 ".files" 폴더 없이 저장하는 방법 (C# 코드)파일 다운로드1
1218정성태1/15/201243090.NET Framework: 292. RSACryptoServiceProvider의 공개키와 개인키 구분 [1]파일 다운로드2
1217정성태1/14/201244377.NET Framework: 291. .NET에서 WAV, MP3 파일 재생하는 방법 [1]파일 다운로드1
1216정성태1/14/201232891오류 유형: 146. Microsoft Visual C++ 재배포 패키지 - 설치 로그 남기는 방법 [1]
1215정성태1/9/201230532제니퍼 .NET: 20. 제니퍼 닷넷 적용 사례 (3) - '닷넷'이 문제일까? '닷넷 개발자'가 문제일까? [6]
1214정성태1/3/201227205제니퍼 .NET: 19. 제니퍼 닷넷 설치/제거 방법 - IIS
1213정성태12/31/201127283.NET Framework: 290. WCF - 접속된 클라이언트의 IP 주소 알아내는 방법 - 두 번째 이야기
1212정성태12/31/201127235오류 유형: 145. The trust relationship between this workstation and the primary domain failed.
... 151  152  153  154  [155]  156  157  158  159  160  161  162  163  164  165  ...