製作ocx。 數字簽證

首先我們將 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章