OCX控件打包成CAB並實現數字簽名過程


 

OCX打包CAB並簽名過程

一、打包cab

制作cab文件時需要將所有的相關文件都包含進去,可以通過Depends(VC自帶的)檢查需要的文件。使用inf文件將這些東西都寫進去。

1、制作inf文件

default.INF

最開始一般是[Version]區:

eg: [Version]

signature=" $CHICAGO$ "

AdvancedINF=2.0

接下來就是最重要的[Add.Code]區:

eg: [Add.Code]

getcertocx.ocx=getcertocx.ocx

前面是要下載的文件名,后面是對應這個文件的區域名,可以是任何名字,不過一般都是和文件的名字相同,這樣方便維護。

再接下來是各個文件的區域了

[getcertocx.ocx]

file-win32-x86=thiscab

RegisterServer=yes

clsid={0A0488CF-F9AB-4AC4-AD8F-CD893553DD22}

DestDir=11

FileVersion=1,0,0,1

[getcertocx.ocx]區域中的第一個file值告訴ie到哪里去得到這個ocx,file一共包括三個部分,第一部分是file,這個永遠都是這樣的;第二部分告訴聲明支持的OS,win32表示windows,mac就是蘋果MAC OX了;第三部分是CPU類型,比如說x86、mips等

file的值可以取三個:一個URL、ignore和thiscab,如果是URL則說明到URL所在的位置去下;如果是ignore說明對於這種OS和CPU,不需要下載這個文件;如果是thiscab就在當前的cab文件中了。

第二部分是RegisterServer,可以取兩個值yes和no,如果為yes則說明ie要注冊該ocx,如果是no就不必了;

接下來是clsid,需要填寫該ocx的class guid。

再下來是DestDir,它的值是ocx將要存到本地硬盤的位置,如果它的值是10,則將ocx放到\Windows或者\WinNT下;如果是11,則放到\Windows\System或者

\WinNT\System32下;如果是空(就是沒有值)則會放到\Windows或者\WinNT下的Downloaded Program Files目錄下;

最后是FileVersion,說明了ocx的版本號。

2、制作cab文件

利用iexpress.exe(windows提供的一個向導式cab制作工具)

選“創建新的自解壓縮指定文件”,點“下一步”。

選“僅創建壓縮文件(ActiveX安裝)”,點“下一步”。

點“添加”將上邊制作好的default.inf和getcertocx.ocx文件添加進來,點“下一步”。

點“瀏覽”輸入要生成的CAB文件名稱,並選中“在軟件包中使用長文件名保存文件”,之后點“下一步”。

選“不保存”,點“下一步”。

點“下一步”。

點“完成”退出向導,cab文件生成。

二、對cab文件進行簽名

利用signtool.exe對cab文件進行簽名,通過后綴參數:signwizard可以顯示數字簽名向導界面。

點“下一步”。

點“瀏覽”選要簽名的cab文件,文件類型選“Cabinet 文件(*.cab)”,選完以后點“下一步”。

選“典型”,點“下一步”。

點“從存儲區選擇”,選擇預期目的為“代碼簽名”的證書,然后點“下一步”。

“描述”和“Web位置(可選)”填寫簽名數據的描述,點“下一步”。

選中“將時間戳添加到數據中”,在時間戳服務URL欄寫入:

http://timestamp.verisign.com/scripts/timstamp.dll

點“下一步”。

點“完成”。

點“確定”。

點“確定”退出數字簽名向導,對應的getcert.CAB文件已被簽名。

可以右鍵點擊“getcert.cab”,選“屬性”,查看“數字簽名”信息。

三、簽名證書的申請

可以到http://www.ca365.com/網站免費申請證書

點“用表格申請證書”,彈出“申請免費證書頁面”,“識別信息”可以隨意填寫,“證書用途”要選擇“代碼簽名證書”,“加密服務提供”是用微軟提供的“Microsoft String Cryptographic Prover”,其他默認,點“提交”即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM