久久精品国产自清天天线_日韩插啊免费视频在线观看_精品人妻一区二区三区浪潮在线_无码人妻AV一区二区三区蜜臀

如何在開發和測試期間對驅動程序進行簽名

發布時間:2020-09-01 12:46:44

開發和調試的(de)時候(hou)驅(qu)動程序(xu)還是(shi)很(hen)不穩定會遇到各種問(wen)題,所(suo)以該形態下的(de)驅(qu)動程序(xu)不適合也不能(neng)成功獲得微軟簽名,所(suo)以在(zai)該階段(duan)為了能(neng)讓(rang)驅(qu)動程序(xu)可以在(zai)windows電腦上可以正(zheng)常運(yun)行(xing)調試(shi)(shi)測(ce)(ce)(ce)試(shi)(shi)。為了能達(da)到這個目標我們就(jiu)要對驅動進行(xing)測(ce)(ce)(ce)試(shi)(shi)簽名(ming),以方(fang)便我們工程(cheng)師(shi)調試(shi)(shi),下(xia)面我就(jiu)介(jie)紹一下(xia)測(ce)(ce)(ce)試(shi)(shi)簽名(ming)的(de)整個過程(cheng)。

一、測試證(zheng)書的創建(jian)

測(ce)試(shi)簽(qian)名(ming)需要(yao)測(ce)試(shi)證(zheng)書。 生成測試(shi)證書后,可(ke)以使用它對(dui)多個驅(qu)動程序或驅動程序包進(jin)行(xing)測試簽名。

本(ben)主題介紹如(ru)何使用MakeCert工具創(chuang)建測(ce)試證書。 在(zai)大多數(shu)開(kai)發環境中,通(tong)過(guo) MakeCert 生成(cheng)的(de)測(ce)試(shi)證書應(ying)該足以(yi)測(ce)試(shi)測(ce)試(shi)簽名驅動程(cheng)序(xu)或驅動程(cheng)序(xu)包的(de)安(an)裝和加載(zai)。 

以(yi)下命令(ling)行示(shi)例使用 MakeCert 來完成以(yi)下任務:

·         創建名(ming)為51whql .com (測試)" 的(de)自(zi)簽名測試證書。 此證(zheng)書對使用者名稱(cheng)和證(zheng)書頒發(fa)機構(CA)使用相同的(de)名稱。

·         將證書的(de)副本放入名(ming)為whqlTest的(de)輸出文件中。

·         將證書(shu)的副本(ben)放(fang)入名為PrivateCertStore的證(zheng)書存儲中。 如果將測試證書放(fang)在PrivateCertStore中(zhong),則(ze)會將(jiang)其與系統上的其他證(zheng)書隔離開來。

使用以下(xia) MakeCert 命令創建(jian)51whql .com Test 證書:

cmd

makecert -r -pe -ss PrivateCertStore -n CN=51whql.com(Test) -eku 1.3.6.1.5.5.7.3.3 WhqlTest.cer


其中:

·         -R選項(xiang)創建一個(ge)自簽(qian)名證書,該證書具(ju)有相同的頒(ban)發者和使用者名稱。

·         -Pe選項指定可以(yi)導出與(yu)證書關聯的私鑰。

·         -Ss選項指定包(bao)含(han)測試證書(PrivateCertStore)的證書存(cun)儲(chu)的名(ming)稱。

·         -N CN = option 指定證書的名稱("51whql.com")。 此名稱與SignTool工具一起用于標識證書(shu)。

·         EKU 選(xuan)項(xiang)將(jiang)一個(ge)或多個(ge)以逗號(hao)分隔的增強(qiang)型(xing)密(mi)鑰(yao)用法對象(xiang)標(biao)識符(oid)列(lie)表插入到證書中。 例(li)如, -eku 1.3.6.1.5.5.7.3.2 插入客(ke)戶端身份(fen)驗證 OID 有關允許的(de) Oid 的定義,請參閱(yue) CryptoAPI 2.0 中的 Wincrypt.h 文件。

·         WhqlTest是包(bao)含測試證書的副本的文(wen)件名,即 51whql.com test)。 證書文件(jian)用于將(jiang)證書添加到 "受(shou)信任的根證書頒發機構" 證書存儲和 "受信任的發布(bu)者(zhe)" 證書存儲中。

包含測試(shi)證(zheng)書的證(zheng)書存儲區將添加到(dao) Windows 在創建證書(shu)存儲的開發計算機上為用戶帳戶管理的證書(shu)存儲列表。

開(kai)發人員只需要創建一個 MakeCert 測試(shi)證(zheng)書來對開發計算(suan)機上(shang)的所有(you)驅動程序包進行簽(qian)名。

二、配置(zhi)支持測試(shi)證書的電腦

管理(li)員模(mo)式(shi)運行(xing)cmd

輸入命令:bcdedit /set testsigning on

三、進(jin)行測試簽(qian)名

創建(jian)或(huo)更新驅動程序包(bao)編錄文件后(hou),可(ke)以通過(guo)SignTool對該目錄文件(jian)進行簽名。 簽名后,如果修(xiu)改(gai)了驅動(dong)程序(xu)包的(de)任何(he)組件,則存(cun)儲在目錄文件中的(de)數字簽名將會失效。

對編錄文件進(jin)行(xing)數字簽名時,SignTool 會(hui)將數(shu)字簽名保存在目錄文件中。 SignTool 不會更改驅動程序包(bao)的組(zu)件。 但是,由于(yu)目(mu)錄文件(jian)包含驅動程序(xu)包的(de)組件(jian)的(de)哈(ha)希(xi)值,因(yin)此(ci),只要這(zhe)些組件(jian)將哈(ha)希(xi)到相同的(de)值,就會保留(liu)目(mu)錄文件(jian)中的(de)數字簽名。

SignTool 還可以(yi)向數字簽名添加時間戳。 時間戳允許確定(ding)創建簽名的時間,并在必要時支持更(geng)靈活的證(zheng)書(shu)吊(diao)銷選項。

以(yi)下命令行說明了(le)如何運行 SignTool 來(lai)執行以下操作:

·         toastpkg.inf示例驅(qu)動程序包tstamd64.cat目(mu)錄文件(jian)進行測試(shi)簽名(ming)。 

·         使用 51whql.com (測試 PrivateCertStore 中的(de)) 證書來測試(shi)簽名。

·         通過時(shi)間戳頒發(fa)機構 (TSA) 來標(biao)記數字簽(qian)名(ming)。

若要對 tstamd64.cat 目(mu)錄文件進行(xing)測試簽名,請運行(xing)以下命(ming)令行(xing):

Signtool sign /v /fd sha256 /s PrivateCertStore /n 51whql.com(Test) /t //timestamp.digicert.com tstamd64.cat


其中:

·         Sign命令將(jiang) SignTool 配置為(wei)對指(zhi)定的編錄文件 tstamd64.cat 進行簽名(ming)。

·         /V選項(xiang)啟用詳細操作,其中,SignTool 顯(xian)示成功執(zhi)行和警(jing)告消息。

·         /Fd選(xuan)項指定(ding)用于創建文(wen)件(jian)(jian)簽名的文(wen)件(jian)(jian)摘要算法。 默(mo)認值為 SHA1

·         /S選(xuan)項(xiang)指定包含測試證書(shu)的證書(shu)存儲 (*PrivateCertStore) *的(de)名稱。

·         /N選(xuan)項指定在指定的證書存儲中安裝的 (51whql.com (測試) # B3的(de)證書的(de)名(ming)稱。

·         /T選(xuan)項指定了 //timestamp.digicert.com 用于對數字簽名(ming)進行時(shi)間戳的 TSA () URL