首先我們將 signcode.rar 壓縮到 C:/signcode
一、 " 數字證書 " 製作軟件 MakeCert
makecert.exe 是一個微軟出品的用來製作 " 數字簽名 " 的軟件,是命令行界面,利用它可以輕鬆地做出屬於自己的個人 " 數字簽名 " ,當然自己做出來的這個數字簽名是不屬於受信任的證書的,但這並不太影響使用。
二、 CAB 壓縮軟件包製作工具 IEXPRESS
是 MAKECAB.EXE 的 GUI 界面程序,用來把程序所需文件壓縮打包爲 CAB 格式,便於傳輸,當然如果你的程序是一個獨立的 EXE 文件時,可以不需要用這個工具打包,但考慮現在多數免費空間不支持 EXE 格式的文件上傳,建議打包!類似的工具還有命令行界面的 Cabarc.exe ;
三、數字簽名軟件 Signcode
我們可以使用 signcode.exe 和自己的 " 數字證書 " 簽署自己的軟件,給軟件加上數字簽名,使其可以在網頁中運行
大夥準備好了嗎?下面就和我一起來屬於自己的數字簽名控件吧, Lets go......
第一步:製作 " 數字證書 "
解壓 signcode.rar 到 C 盤根目錄下,運行 CMD 進入 dos 輸入 CD C:/signcode
makecert 的命令如下 :
makecert -sv dsoframer.pvk -n "CN= 鍾德榮 " -ss My -r -b 01/01/1900 -e 01/01/9999
其中
-sv dsoframer.pvk 意思是生成一個私匙文件 dsoframer.pvk
-n "CN= 尚極工作室 " 其中的 " 尚極工作室 " 就是簽名中顯示的證書所有人的名字,記住要改爲你自己的或你想要的名字呀!
-ss My 指定生成後的證書保存在個人證書中
-r 意思是說證書是自己頒發給自己的,呵呵
-b 01/01/2009 指定證書的有效期起始日期,格式爲 月 / 日 / 年,最低爲 1900 年
-e 01/01/9999 指定證書的有效期終止日期,格式同上,我想 9999 年你應該是活不到的 ^)^
至於其他命令暫時用不到,我也不多做介紹啦。
在上面的界面中,不需要填私匙密碼吧?直接點 " 無 " 按鈕就可以拉,如果你喜歡麻煩就輸入密碼,並記住它。好啦!已經在目錄下生成了你的私匙文件 dsoframer.pvk ,但證書在哪裏?別急,打開 IE 的 "Internet 選項 " ,切換到 " 內容 " 標籤,看到 " 證書 " 按鈕沒?點它 !
圖中上面那個截止日期爲 9999-1-1 的 " 尚極工作室 " 就是剛纔自己生成的證書,把它 " 導出 " 爲 dsoframer.cer ,(其中的選項採用默認的編碼格式)好啦,最重要的第一步已經完成 !
第二步:把要用到的程序文件打包爲 CAB 格式格式
首先建立 dsoframer.inf 文件 , 內容如下:
[Version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
dsoframer.ocx=dsoframer.ocx
[dsoframer.ocx]
file-win32-x86=thiscab
RegisterServer=yes
CLSID={00460182-9E5E-11d5-B7C8-B8269041DD57}
FileVersion=2,3,1,0
DestDir = 11
註釋:
"thiscab" 是一個關鍵字,意指包含該 INF 的 CAB 文件。也可以從網上下載所需要的 DLL 文件,只要指定一個 HTTP 網址即可,如:
file-win32-x86=http://www.mysite.com/mydir/NEEDED.DLL
關鍵字 "file-win32-x86" 指定平臺是 x86 。
選擇文件,右鍵中,可看到文件版本號可見屬性。
"DestDir" 指的是裝載目錄或者文件的地址 : 11 指定爲系統目錄 WINDOWS/ /SYSTEM32;
"clsid" 指的是要安裝控件的 CLSID 。
/*
如何查看 ocx 的 CLSID 和 Version 等信息:
*/
然後,運行 IEXPRESS.EXE , IEXPRESS.EXE 爲系統自帶的程序,一般情況下,位於 System/Windows 目錄下。
在上圖中選中 " 創建新的自解壓縮指令文件: Create new Self Extraction Directive file " ,進入下一步,
在上圖中選中 " 只創建壓縮文件 (ActiveX 安裝 ) : Create compressed files only(ActiveX Installs)" ,進入下一步把用到的 OCX 文件和程序(包括程序調用的 DLL ,如果有的話)添加進列表中,千萬不要忘記把 "dsoframer.inf" 也添加進來呀!
按照圖配置選項後,就連續點 " 下一步 " , ( 說明:我第一次選擇的 OCX 文件位於當前目錄下,製作報錯,然後,我將 OCX 文件複製到 C 盤的 System32 目錄下,選擇 OCX 文件時,也選擇此目錄下的 dsoframer.ocx ,即成功了。 )
點擊 Browse ,輸入 .CAB 文件的存放地址(包含所取文件名),這裏取 TestCAB.CAB, 並且要選中 “Store files using Long File Name inside Package” 。點擊下一步。
在上圖中選擇: Don’t Save ,即可生成 dsoframe.CAB 。
說明: CAB 的文件名必須爲 8.3 的格式,文件名不能太長,此製作過程可以先輸入 CAB 包的文件名爲: dsoFrame.CAB ,製作完成後,再改成 dsoFramer.CAB
第三步:爲 dsoframer.CAB 簽署數字簽名
運行 signcode.exe ,選擇 dsoframer.CAB ,如下圖:
" 簽名選項窗體 " 中的 " 簽名類型 " 選定 " 自定義 (C)", 如下圖:
下一步,在“數字簽名嚮導-簽名證書”窗體中, 點擊 " 從文件中選擇 " 按鈕,選擇上面第一步導出的證書文件 dsoframer.cer ,
再下一步的私匙選定第一步生成的 dsoframer.pvk 文件
!這樣一個使用自己的 " 數字證書 " 簽署的具有 " 數字簽名 " 可以在網頁中運行的程序就做好啦!
第四步:當然就是把做好的程序嵌入到網頁中,然後上傳啦!
加入到網頁中的代碼如下:
< object classid ="clsid:00460182-9E5E-11D5-B7C8-B8269041DD57" id ="FramerControl1"
style =" left : 0px; top : 0px; width : 100%; height : 16px" codebase ="../DsoFramer/dsoFramer.CAB#V2,2,1,2">
</ object >
本文檔的doc文檔及相關的製作同要的EXE文件的下載地址:http://download.csdn.net/source/2812514