如何給驅動程序簽名?怎麼做微軟WHQL認證?

從 Windows Vista 開始,基於 x64 的 Windows 版本要求在內核模式下運行的所有軟件(包括驅動程序)進行數字簽名才能加載。未簽名的驅動程序被系統阻止,數字簽名可確保驅動程序已由受信任的開發人員或供應商發佈,並且其代碼未被修改。

什麼是內核模式驅動簽名?

操作系統中的內核模式表示操作系統上所有其他程序所依賴的核心程序。使用此模式的基本目的是訪問操作系統的硬件組件並計劃將運行系統的進程。即使是常規程序,當它們必須訪問計算機硬件時,也必須通過內核模式建立連接。

內核模式旨在驗證在系統上運行我們的程序和軟件的驅動程序包的代碼,內核模式代碼的簽名文件在安全目錄(CAT 文件)中受到保護。對此證書進行簽名的目的是創建一個策略,在該策略中,內核模式驅動程序必須始終加載才能使系統平穩運行。

內核模式驅動程序簽名認證過程取決於操作系統的版本。內核模式代碼具有.sys擴展名,若要正確加載這些驅動程序,必須使用安全目錄 (CAT) 對它們進行有效簽名。因此,引入操作系統的任何驅動程序都需要獲得數字簽名進行驗證。

如何爲驅動程序簽名,完成WHQL認證?

由於微軟提升驅動程序簽名要求,以往只需要採用微軟交叉根簽名的證書頒發機構提供的EV代碼簽名證書籤名驅動程序,即可完成驅動簽名認證,但從 Windows 10 開始,如果新的內核模式驅動程序未由Windows開發人員門戶提供簽名,則系統不會加載它們。微軟已停止繼續給證書頒發機構簽發交叉根證書,驅動程序必須提交微軟開發人員門戶進行WHQL測試認證,獲取微軟數字簽名後才能正常加載。申請WHQL認證主要有以下幾個步驟,如圖所示:

沃通CA提醒開發者,驅動程序提交微軟WHQL認證的流程中,仍需申請EV代碼簽名證書,這是必備項目!帳戶註冊過程及驅動程序提交前,需要使用微軟指定證書頒發機構提供的EV代碼簽名證書進行簽名。

(1)帳戶註冊需要:驅動程序開發者必須通過 Windows 硬件開發人員中心門戶向微軟提交新驅動程序。而Windows 硬件開發中心帳戶註冊過程,必須使用 EV 代碼簽名證書籤名指定文件,才能完成帳戶註冊。

(2)驅動簽名需要:完成微軟測試認證後,WHQL 僅對驅動程序包目錄文件進行簽名,但不將簽名嵌入驅動程序文件。所有驅動程序提交到硬件開發人員門戶之前,必須先使用 EV 代碼簽名證書進行簽名。

沃通提供的EV代碼簽名證書Pro及EV代碼簽名證書兩款產品,都是由微軟指定的證書頒發機構簽發,符合微軟要求。沃通還提供配套的WHQL認證服務,“EV代碼簽名證書 + WHQL認證服務”一站式解決驅動程序簽名及WHQL認證的需求,幫助開發者快速完成認證。

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