在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

為MFC與ATL控件創(chuàng)建簽署的CAB文件

為MFC與ATL控件創(chuàng)建簽署的CAB文件

更新時間:2022-05-04 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

如果您計劃通過Internet銷售 MFC控件和ATL 控件,您應(yīng)該將其打包成簽署的小巧(Cabinet -CAB) 文件。簽署文件確保用戶下載您的控件時源代碼是安全的。一個CAB文件包含一個您的控件及其安裝信息(比如,都需要哪些動態(tài)鏈接庫DLL和OCX一起安裝)的壓縮版本。

  創(chuàng)建和簽署CAB文件的工具包含于Visual C++ 5.0 光盤中的 CAB&SIGN 目錄下面。 該目錄下的公用程序在您安裝Visual C++時并不會自動地一起安裝,因此您必須將CAB&SIGN 目錄下面的內(nèi)容拷貝到您的硬盤驅(qū)動器中。

  在簽署文件之前,您需要有一個軟件出版商證明書(Software Publisher Certificate)。您必須向證書發(fā)放機(jī)構(gòu)(Certification Authority)申請自己的證書。利用CAB&SIGN目錄下面的工具,您能夠創(chuàng)建一個用于測試的測試證明書,但是該證明書不能用于簽署發(fā)售的代碼。有關(guān)申請軟件出版商證明書的信息,請參考步驟 1 。

  下面是創(chuàng)建簽署CAB文件的步驟 :

   1 獲得一個軟件出版商證明書 (您只需要這一次申請就可以永久使用)

   2 創(chuàng)建 CAB 文件

   3 簽署您的文件

   4 將簽署過的 CAB文件嵌入一個Web頁(可選項)獲得一個軟件出版商證明書

  在簽署文件之前,您需要有一個軟件出版商證明書(SPC)。為此,您必須向證書發(fā)放機(jī)構(gòu)(Certification Authority)提出申請。在申請過程中,您必須生成一個密匙對,并向證書發(fā)放機(jī)構(gòu)提供證明信息,比如說您的名字、地址以及公共密匙。而且,您必須作出具有法律約束力的誓言:您不能也將不會發(fā)布您知道或者應(yīng)該知道其中包含了病毒的軟件,或者是惡意破壞用戶的機(jī)器或代碼。

  有關(guān)如何得到軟件出版商證明書更詳盡的信息,請參考Signing Code with Microsoft's Authenticode。若要申請該證書,請參考 Digital Certificates for Authenticode ;若要創(chuàng)建一個測試證書來測試簽署文件,請參考Making A Test Software Publisher Certificate.

  證書發(fā)放機(jī)構(gòu)生成一個符合工業(yè)標(biāo)準(zhǔn)X.509證書格式(包含版本3擴(kuò)展)的軟件出版商證明書 。該證書確定并且包含您的公共密匙,并以證書發(fā)放機(jī)構(gòu)存檔作為參考,把一個拷貝以電子郵件的方式返回給您。收到該證書之后,您應(yīng)該在所有要發(fā)布的、用私人密匙簽署的軟件當(dāng)中,包含一份該證書的拷貝。

獲得一個軟件出版商證明書

  您可以使用Visual C++ 5.0 光盤中CAB&SIGN目錄下的 MAKECERT和 CERT2SPC 公用程序,做一個測試軟件出版商證明書。注意,該測試軟件出版商證明書對真正的軟件發(fā)布無效,但是能夠被用來測試您代碼的簽署。

  比如,要做一個私人密匙文件MYKEY.PVK 和一個公司證書CERT.CER,則運(yùn)行公用程序MAKECERT,其命令如下:

C:\CAB&SIGN\MAKECERT
-u: MyKey
-n: CN = MySoftwareCompany
-k: MYKEY.PVK CERT.CER

  MyKey 是您的密匙名,MySoftwareCompany 是您的公司名。注意公用程序 MAKECERT 在命令行選項中區(qū)分大小寫,因此您必須使用小寫的-u、-n以及-k;-n選項的值必須是大寫的CN=。

  做一個名為CERT.SPC測試軟件出版商證明書,則運(yùn)行公用程序CERT2SPC,命令如下:

C:\CAB&SIGN\CERT2SPC C:\CAB&SIGN\ROOT.CER CERT.CER CERT.SPC

  注意CERT.SPC文件是利用您剛使用MAKECERT創(chuàng)建的CERT.CER文件以及CAB&SIGN目錄下面的ROOT.CER文件創(chuàng)建的 。

  創(chuàng)建一個 CAB文件

  這一部分描述如何創(chuàng)建能在互連網(wǎng)上分派ATL和MFC組件的CAB文件。如果您要了解有關(guān)CAB文件的更多信息,請參考Cabinet文件參考書目(File Reference),該文件位于平臺軟件開發(fā)工具包(Platform SDK,包含在Visual C++ 5.0聯(lián)機(jī)文檔中)的設(shè)置和系統(tǒng)管理服務(wù)(Setup and System Management Services)部分的\Setup API\Overview\Cabinet Files目錄下面。

  創(chuàng)建一個 CAB文件:

  創(chuàng)建一個INF文件。

  運(yùn)行公共例程CABARC(在光盤上的CAB&SIGN目錄中)。例如:

C:\CAB&SIGN\CABARC -s 6144
n MYCTL.CAB NEEDED1.DLL NEEDED2.DLL MYCTL.OCX MYCTL.INF

  CABARC 創(chuàng)建了一個名為MYCTL.CAB的CAB文件。

  您必須在您的源文件(INF、OCX以及DLL文件)目錄下面運(yùn)行CABARC。存檔在CAB 文件中的文件需要在命令行列出,次序同它們在INF文件中的完全一致。在上例中,INF文件的列出次序是NEEDED1.DLL,然后 是NEEDED2.DLL,最后是MYCTL.OCX。

  -s選項為代碼簽署保留空間。n 命令指定您想創(chuàng)建的是CAB文件。CABARC 命令和選項的說明可以查看,其方式是在命令行鍵入CABARC:

  C:\CAB&SIGN\CABARC

創(chuàng)建一個INF文件

  INF文件是一個文本文件,指定運(yùn)行控件所需要下載或者呈交的文件(比如DLL或者其它OCX)。一個INF文件就捆綁了CAB壓縮文件所有的必須文件。 缺省情況下,與現(xiàn)有硬盤中文件版本號相同的文件不被下載。要了解有關(guān)INF文件及其選項(包括如何創(chuàng)建獨(dú)立于平臺的INF文件)的詳細(xì)情況,請參考萬維網(wǎng)站Packaging Component Code for Automatic Download,或者參考平臺軟件開發(fā)工具包(Platform SDK,包含在Visual C++ 5.0聯(lián)機(jī)文檔中)的設(shè)置和系統(tǒng)管理服務(wù)(Setup and System Management Services)部分的\Setup API\Overview\INF Files目錄下的內(nèi)容。

  作為示例,下面的INF是用來為ATL多邊形控件創(chuàng)建一個CAB文件的。 您可以通過從Visual C++ 5.0光盤下載ATL POLYGON示例程序來創(chuàng)建POLYGON.DLL,并創(chuàng)建一個最小版本。創(chuàng)建該最小版本另外需要一個DLL即 ATL.DLL。ATL.DLL要先于POLYGON.DLL注冊,因此首先把ATL.DLL 放置到INF當(dāng)中。

; Sample INF file for POLYGON.DLL
[version]
; version signature (same for both NT and Win95) do not remove
signature="$CHICAGO$"
AdvancedINF=2.0

[Add.Code]
polygon.dll=polygon.dll
atl.dll=atl.dll

; needed DLL
[atl.dll]
file-win32-x86=thiscab
FileVersion=2,00,0,7024
DestDir=11
RegisterServer=yes

[polygon.dll]
file-win32-x86=thiscab
clsid={4CBBC676-507F-11D0-B98B-000000000000}
FileVersion=1,0,0,1
RegisterServer=yes
; end of INF file

  該INF指定了系統(tǒng)需要安裝特定版本的ATL.DLL。如果系統(tǒng)中還沒有該文件,則需要從和該INF一起創(chuàng)建的CAB文件下載。"thiscab" 是一個關(guān)鍵字,意指包含該INF的CAB文件。您也可以從網(wǎng)上下載所需要的DLL文件,只要指定一個HTTP 網(wǎng)址即可,絕對路徑或者相對路徑都可以,比如:

  file-win32-x86=http://www.mysite.com/mydir/NEEDED.DLL

  關(guān)鍵字"file-win32-x86" 指定平臺是 x86。

  得到一個文件的版本號的過程是:在Windows NT或者Windows 95 Explorer中右鍵點(diǎn)擊該文件;從彈出列表中選擇Properties,然后在接著彈出的對話框中選擇版本標(biāo)簽。有時,您可能需要在文件版本中插入一個額外的0 。比如,對話框中顯示ATL.DLL的版本號是2.00.7024,在INF文件中則變?yōu)?,00,0,7024 。

  "DestDir"指的是裝載目錄或者文件的地址: 11 指定為系統(tǒng)目錄 WINDOWS/SYSTEM 或者 WINNT/SYSTEM32; 10 規(guī)定為窗口目錄、WINDOWS或者WINNT。如果沒有指定DestDir(典型情況),則代碼從固定的OCCACHE目錄裝載。

  "clsid" 指的是要安裝控件的CLSID。




  創(chuàng)建 INF文件后,再運(yùn)行CABARC公用程序(在Visual C++ 5.0光盤上的CAB&SIGN目錄中)創(chuàng)建CAB文件。您必須在您的源文件目錄下面運(yùn)行CABARC。存檔在CAB 文件中的文件需要在命令行列出,次序同它們在INF文件中完全一致。比如,從上面的INF文件為多邊形控件做一個CAB文件,需要使用下面的命令 :

  C:\CAB&SIGN\CABARC -s 6144 POLYGON.CAB ATL.DLL POLYGON.DLL POLYGON.INF

  該CAB文件包含ATL.DLL和POLYGON.DLL的壓縮版本,以及將它們展開到POLYGON.INF 文件所需要的信息。

  有關(guān)創(chuàng)建一個下載MFC控件的CAB文件的示例,請參考MFC 4.2b Component Download Information.您需要包含在MFC控件中的DLL文件有MSVCRT.DLL,MFC42.DLL以及 OLEPRO32.DLL。

簽署一個CAB文件

  使用Code Signing Wizard簽署一個CAB文件:

  1. 運(yùn)行公用程序 SIGNCODE (在Visual C++ 5.0光盤的CAB&SIGN 目錄下),啟動Code Signing Wizard。

    C:\CAB&SIGN\SIGNCODE

  2. 在Code Signing Wizard對話框當(dāng)中,點(diǎn)擊Next前進(jìn)到下一頁。

  3. 在您想簽署那一個程序? 編輯框中,鍵入您想簽署的CAB文件。

  4.在您想在證書中使用什么名字? 編輯框中,鍵入您想在證書中使用的名字。


  5. 點(diǎn)擊Next,前進(jìn)到下一頁。

  6. 在 您想將該程序簽署在哪一個軟件開發(fā)商證書下面? 編輯框中,鍵入軟件開發(fā)商證書(SPC)文件名。

  7. 在您要在該證書的哪一個文件中查找密碼、密匙? 編輯框中,鍵入私人密匙(PVK)文件名。

  8. 連續(xù)兩次點(diǎn)擊 Next前進(jìn)到最后一頁。

  9.點(diǎn)擊Sign,簽署CAB 文件。您的文件將被數(shù)字化簽署。

  您可以不使用CAB文件直接簽署您的DLL和OCX 。CAB文件的好處在于它是壓縮的,而且,如果和INF文件一起使用,可以將所有必要代碼捆綁在一起。

  將簽署過的 CAB文件嵌入一個Web頁

  ATL和MFC控件使用標(biāo)簽嵌入網(wǎng)頁。在標(biāo)簽,您需要為該控件指定三個屬性 :

   ID - 控件名稱

   CLASSID - 控件的CLSID

   CODEBASE - 下載控件的位置。CODEBASE 可以指向許多不同的文件類型。

   CODEBASE可以直接指向一個OCX 文件或者DLL文件:

CODEBASE="http://www.mysite.com/mydir/polygon.dll#version=1,0,0,1"

  因為這僅僅完成了DLL或OCX文件的下載和安裝,任何必要的DLL支持必須已經(jīng)裝載到了客戶機(jī)上。

  如果您在CAB文件中包含了選項版本號,它應(yīng)該指向要下載的控件。例如,如果POLYGON.DLL有一個版本號1,0,0,1,則CAB文件的版本號也必須是1,0,0,1:

CODEBASE="http://www.mysite.com/mydir/polygon.cab#version=1,0,0,1"

  如果您沒有包含選項版本號,則不能替換同一個組件(如果它們出現(xiàn)在客戶機(jī)上的話)的老版本號。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 99免费视频观看| 日本三级黄色网址| 日本高清免费在线视频| 欧美三级理论片| 熟女少妇在线视频播放| 日韩视频免费播放| 一卡二卡三卡视频| 日本免费不卡一区二区| 久艹在线免费观看| 水蜜桃色314在线观看| 自拍日韩亚洲一区在线| 日本a在线免费观看| 日韩av三级在线| 国产自偷自偷免费一区| 黄色国产小视频| 中文字幕1234区| 少妇熟女一区二区| 亚洲精品无码国产| 草草久久久无码国产专区| 农村妇女精品一二区| 超碰影院在线观看| 国产探花在线看| 999久久欧美人妻一区二区| 你懂的av在线| 一区二区三区韩国| www.黄色网址.com| 91猫先生在线| 精品综合久久久久| 精品少妇在线视频| 亚洲综合欧美在线| 日韩黄色片在线| 粉色视频免费看| av在线com| 亚洲天堂网一区| 黄色影视在线观看| 精品99在线视频| 国产美女视频免费| 精品少妇无遮挡毛片| 精品人妻人人做人人爽| 国产视频一区二区三区在线播放| 538任你躁在线精品免费| 国产在线观看欧美| 午夜国产一区二区三区| 久久艹国产精品| 国内av免费观看| 九九视频精品在线观看| 欧美高清中文字幕| 亚洲图片 自拍偷拍| 美女福利视频在线| 免费视频爱爱太爽了| 午夜不卡福利视频| 一级黄色香蕉视频| 黄色大片中文字幕| 日本高清视频免费在线观看| 色噜噜狠狠一区二区| 国产aaa一级片| 日韩在线综合网| 成熟丰满熟妇高潮xxxxx视频| 最新视频 - x88av| 香蕉视频xxxx| 色婷婷一区二区三区av免费看| 国内外成人激情视频| 成人午夜精品久久久久久久蜜臀| 美女在线免费视频| 婷婷视频在线播放| 亚洲AV无码成人精品一区| 亚洲美女性囗交| 久久午夜夜伦鲁鲁一区二区| 黑鬼大战白妞高潮喷白浆| 亚洲熟妇无码一区二区三区导航| 懂色av一区二区三区四区五区| 中文字幕66页| 精品日韩在线播放| 超薄肉色丝袜足j调教99| 亚洲第一页在线视频| 国产免费xxx| 国产精品国产三级国产专区51| www.日本在线视频| 丁香六月激情婷婷| 欧美一级黄色片视频| 国产福利影院在线观看| 艹b视频在线观看| 欧美性受xxxxxx黑人xyx性爽| 日韩高清在线一区二区| 99热一区二区三区| 国产 日韩 欧美在线| 日本在线观看a| 久久久久久久久久久久久久久国产| 九九精品久久久| 337p亚洲精品色噜噜狠狠p| 青青草国产精品视频| 欧美在线观看视频网站| 在线一区二区不卡| 男人天堂av片| 色片在线免费观看| 欧美性潮喷xxxxx免费视频看| 青青青国产在线观看| 久久久久久久少妇| 经典三级在线视频| 男女av免费观看| 爱爱爱视频网站| 大香煮伊手机一区| 97久久国产亚洲精品超碰热| 欧美三级午夜理伦三级| 亚欧美一区二区三区| 亚洲中文字幕无码中文字| 中文字幕免费高清在线| 草草久久久无码国产专区| 亚洲一区二区福利视频| 国产免费一区二区三区视频| eeuss中文| 国产超碰在线播放| 妞干网在线视频观看| 中文字幕在线乱| 日本高清久久久| www黄色在线| 久久黄色片视频| 日韩亚洲欧美一区二区| 亚洲18在线看污www麻豆 | 国产日韩欧美大片| 爱情岛论坛亚洲首页入口章节| 人人妻人人澡人人爽欧美一区双| 国产成人美女视频| 成人性视频欧美一区二区三区| 可以看毛片的网址| 91九色国产ts另类人妖| 99视频在线观看视频| 不卡的av中文字幕| 亚洲老女人av| 欧美一级特黄a| 青青青在线视频免费观看| 久久久精品在线视频| 亚洲午夜精品久久久久久人妖| 99er在线视频| 青青青在线视频播放| www.国产在线视频| 东北少妇不带套对白| 成年人网站国产| 国产免费观看高清视频| 人妻无码久久一区二区三区免费| 女人色极品影院| 国产视频九色蝌蚪| 婷婷五月综合缴情在线视频| 国产中文字幕视频在线观看| 人妻少妇精品久久| 久久精品国产精品亚洲色婷婷| avav在线看| 天天操狠狠操夜夜操| 91免费视频污| 国产av熟女一区二区三区| 欧美日韩性生活片| 熟妇人妻无乱码中文字幕真矢织江| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 国产精品人人妻人人爽人人牛| 91高清国产视频| 黄色影视在线观看| 国产真人做爰毛片视频直播| 国产1区2区在线| 亚洲图片 自拍偷拍| 久久男人资源站| 国产日韩一区二区在线观看| 污版视频在线观看| 国产一级不卡视频| 男女av免费观看| 日韩精品福利片午夜免费观看| 俄罗斯av网站| 波多野结衣免费观看| 国产 福利 在线| 91aaa精品| 国产熟人av一二三区| 99精品一区二区三区的区别| 日韩av三级在线| 亚洲国产精品影视| 亚洲精品乱码久久久久久自慰| 天天做天天爱天天高潮| 国模杨依粉嫩蝴蝶150p| 中文字幕日韩精品无码内射| 人人干人人干人人| 亚洲国产精品久久久久婷蜜芽| 天天做天天爱天天高潮| 日本激情综合网| 久久精品网站视频| 日韩小视频网站| 免费观看国产视频在线| 国产探花在线看| 成人免费观看毛片| 黄页免费在线观看视频| 国产在线无码精品| www.久久com| 午夜啪啪免费视频| 亚洲天堂国产视频| 日本激情视频在线| 九热视频在线观看| 日本在线视频www| 男人日女人bb视频| 欧美亚洲国产成人| 高清在线观看免费| 国产中文字幕免费观看| 美女av免费在线观看| 免费无码国产v片在线观看|