ActiveX發布步驟整理

來源:互聯網
上載者:User
1、數位簽章。使用SignCode.exe進行數位簽章,步驟如下:
首先要有工具包,包括以下幾個軟體:(c:/Program Files/Microsoft Visual Studio .NET 2003/Common7/Tools/Bin目錄下都有)
makecert.exe 製作cer格式的認證,即X.509認證,同時可以建立私密金鑰
cert2spc.exe 將cer格式認證轉換成spc格式認證,即PKCS #7認證
signcode.exe 將認證簽署到ocx上去
chktrust.exe 檢查簽署認證後的ocx是否正確
還有一個certmgr.exe,是管理憑證用的。可以從這裡面匯出root.cer來,網上很多文章寫到這個認證,但是在VC的安裝盤中卻找不

到。其實,沒有也沒關係的。這幾個軟體可以從VC的安裝盤中找到。

下面是具體的步驟:
1、建立一個自己的認證檔案:
makecert /sv "wwx.PVK" /n "CN=yourcompant" wwx.cer
makecert /sv "wwx.pvk" /n "CN=公司名稱,E=email,O=作者" wwx.cer
這裡,Record.PVK表示新建立的私人密鑰儲存檔案名稱
yourcompant是你想顯示的公司名
wwx.cer是你建立最後的認證檔案名稱
這些根據你自己的要求填寫,最後得到wwx.PVK和wwx.cer兩個檔案。
其中,運行過程中需要輸入私人密鑰的保護密碼,一定要輸入一致,不要出錯。

2、轉換cer格式為spc格式(可以省略)
cert2spc wwx.cer wwx.spc
得到wwx.spc檔案。

3、給ocx進行簽名
運行signcode,命令列的我沒有實驗通過,我是通過介面實現的。
signcode運行後會出現數位簽章嚮導,首先選擇你要簽名的ocx,下一步後會出現簽名選項,一種是典型,一種是自訂。選擇自定

義,這樣才能從檔案選擇認證,選擇前面製作的dream.spc,再下一步是
選擇私密金鑰檔案,選擇Record.PVK,輸入私人密鑰的保護密碼,選擇散列演算法,一般用md5就可以了,下一步是選擇其他認證,直接下

一步,填寫一下這個控制項的聲明,使用者用ie瀏覽的時候,會彈出認證說明,再下一步是加蓋時間戳記,如果需要,用以下地址:

http://timestamp.verisign.com/scripts/timstamp.dll 要求已經上網並能出國,然後直接下一步就完成了。

4、用chktrust檢查是否正確
chktrust -v RecordProj.ocx

就這樣,得到了一個測試認證,恩,雖然只是一個測試認證,但至少保證這個ocx在ie瀏覽的時候能夠彈出來一個視窗,問你是否安裝,而不是直接禁止了。

5、建立INF檔案

[version]
signature="$CHINA$"
AdvancedINF=2.0

[Add.Code]
WebOffice.ocx=WebOffice.ocx
mfc70.dll=mfc70.dll
msvcrt.dll=msvcrt.dll
olepro32.dll=olepro32.dll

[mfc70.dll]
file-win32-x86=thiscab
FileVersion=7,0,9466,0
DestDir=11
RegisterServer=yes

[msvcrt.dll]
file-win32-x86=thiscab
FileVersion=6,1,9844,0
DestDir=11
RegisterServer=yes

[olepro32.dll]
file-win32-x86=thiscab
FileVersion=5,0,4522,0
DestDir=11
RegisterServer=yes

[WebOffice.ocx]
file-win32-x86=thiscab
clsid={05430EC0-69CA-437A-B1F9-4B78B8647BEA}
FileVersion=1,0,0,1
RegisterServer=yes
;

注意:如果基於MFC選擇了靜態編譯就不需要配置動態運行庫.

6、建立CAB檔案
cabarc -s 6144 n WebOffice.cab msvcrt.dll msvcp70.dll msvcr70.dll mfc70.dll olepro32.dll ASYCFILT.DLL STDOLE2.TLB  WebOffice.ocx WebOffice.inf

使用Code Signing Wizard簽署一個CAB檔案
SIGNCODE.exe
時間戳記服務:verisign的時間伺服器,這個是免費的.http://timestamp.verisign.com/scripts/timstamp.dll

7、
完成後編輯網頁ActiveX.htm

<object id=DWebOffice style="left: 0px; width: 100%; top: 0px; height: 450px;" classid="clsid:05430EC0-69CA-437A-B1F9-4B78B8647BEA" viewastext codebase="http://127.0.0.1:9000/ActiveX/WebOffice.cab#version=1,0,0,1">

注意網頁中object標籤codebase參數的URL地址和#version所指定的版本號碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.