Windows 核心驅動簽名策略

2021-10-04 21:26:08 字數 910 閱讀 7376

windows的驅動簽名策略起始於win7 64位作業系統,從win7 64位一直到 win10 1511版本,驅動程式必須要有sha1簽名,且證書必須使用微軟簽發的證書交叉簽名。

後來微軟推行了sha2簽名,從win10 1607到win10 1709,sha1和sha2簽名都被認可。從win10 1803開始,sha1簽名不再受到支援,因此好多開發商都選擇使用sha1+sha2雙簽名,來支援全部的windows作業系統。

不過自從win10 1607開始,微軟還立了一條規矩,驅動程式還必須被微軟的硬體開發中心簽名才能被windows載入。但是有以下幾種情況屬於例外:

1.win10是從舊版本公升級到1607的,不需要硬體開發中心的簽名

2.bios沒有開啟secureboot,不需要硬體開發中心的簽名

3.驅動簽名日期早於2023年7月29日的,不需要硬體開發中心的簽名

因此,驅動程式如果要獲得最完整的相容性,必須要滿足下面的條件

1.有sha1簽名,用來支援win10 1607以前的作業系統

2.有sha2簽名(必須是ev證書),用來支援win10 1607及以後的作業系統

3.有微軟的硬體開發中心簽名,用來支援uefi secureboot方式引導的win10 1607及以後的作業系統

windows 硬體開發者中心的數字簽名獲取步驟是:

(1)門戶註冊:windows 硬體開發者中心門戶要求註冊門戶時必須有一張有效的 ev**簽名證書。

(2)驅動提交:所有通過 windows 硬體開發者中心門戶提交的驅動程式必須使用 ev **簽名證書進行數字簽名;

(3)提交入口:必須通過 windows 硬體開發者中心門戶,提交您的新驅動程式;

入口:

Windows核心程式設計(二)核心驅動執行,除錯

由於windows數字簽名的原因,沒有簽名或者使用測試簽名的都不能放到64位系統上執行。兩個解決辦法。一 將系統設定為除錯模式 二 關閉系統的驅動簽名校驗。服務管理器 管理系統上的所有服務,建立 註冊 修改 啟動服務。所以我們編寫程式的時候,首先要開啟服務管理器。其api為 sc handle wi...

Windows核心驅動開發入門學習資料

windows核心驅動開發入門學習資料 一 書籍推薦 其他驅動開發相關書籍 二 原始碼學習 三 學習 看雪論壇 驅網 帆子核心驅動網 看雪kssd 一蓑煙雨 吾愛破解 debugman 四 其他資料 整理自看雪 驅動程式設計基礎 showthread.php?t 56631 通俗解析irp和i o裝...

Windows核心驅動開發入門學習資料

整理 一 書籍推薦 其他驅動開發相關書籍 二 原始碼學習 三 學習 看雪論壇 驅網 帆子核心驅動網 看雪kssd 一蓑煙雨 吾愛破解 debugman 四 其他資料 整理自看雪 驅動程式設計基礎 showthread.php?t 56631 通俗解析irp和i o裝置棧在核心程式中的作用 showt...