駕駛人簽名選項與最佳實務

本文介紹硬體開發中心提供的各種驅動程式簽名服務。 文章也建議最佳實務。

Hardware Lab Kit 測試與儀表板簽署驅動程式

通過 Hardware Lab Kit(HLK)測試的儀表板簽署驅動程式可在 Windows Vista 及更新版本(包括 Windows Server 版本)上運作。 HLK 測試是推薦的驅動程式簽署方法,因為它會簽署所有作業系統版本的驅動程式。

HLK 測試驅動程式顯示製造商嚴格測試硬體,以符合 Microsoft 在可靠性、安全性、能源效率、可維修性及效能等方面的所有要求。 測試包括遵守產業標準,並遵守 Microsoft 針對特定技術功能的規範。 此類測試有助於確保正確的安裝、部署、連接性及互通性。

想了解如何為你的儀表板提交建立經過 HLK 測試的驅動程式,請參見 Windows HLK 入門指南

驗證簽署的驅動程式以用於測試情境

Windows 裝置安裝使用數位簽章來驗證驅動程式套件的完整性及提供驅動程式套件的軟體發行商身份。

僅用於測試目的,你可以提交驅動程式進行驗證簽署,且此過程不需要 HLK 測試。

認證簽署有以下限制與要求:

  • 認證簽署的驅動程式無法發佈到 Windows Update 給零售用戶使用。 若要將驅動程式發佈給Windows Update零售用戶,您必須透過 Windows 硬體相容計畫提交驅動程式。 透過選擇 CoDevTest 登錄金鑰/Surface SSRK選項,支援將簽署證明驅動發布給 Windows Update 進行測試。

  • 認證簽署僅適用於 Windows 10 桌面版及更新版本的 Windows。

  • 認證簽署支援 Windows 桌面核心模式及使用者模式驅動程式。 對於需要在舊版本 Windows 上運行的驅動程式,你應該提交 HLK/HCK 測試日誌申請Windows認證

  • 證明簽署不會回傳早期啟動反惡意軟體(ELAM)或 Windows Hello PE 二進位檔的適當可攜式執行檔(PE)層級。 這些二進位檔必須測試並以 .hlkx 套件提交,才能獲得額外的簽名屬性。

  • 認證簽署需要使用 擴展驗證憑證 ,將驅動程式提交至合作夥伴中心(硬體開發中心儀表板)。

  • 證明簽署要求驅動程式資料夾名稱不得包含特殊字元,且不得使用 UNC 檔案共享路徑。 驅動程式資料夾名稱不得少於40字元。

  • 當驅動程式收到證明簽名時,它並不是 Windows 認證。 Microsoft 的認證簽名顯示 Windows 信任該驅動程式。 但因為驅動程式沒有在 HLK Studio 中測試,所以無法保證相容性或功能性。

  • DUA(驅動更新可接受)不支援簽章認證的驅動程式。

  • 以下PE等級與二進位可透過認證處理:

    • PeTrust
    • DrmLevel
    • HAL
    • .exe
    • .cab
    • .dll
    • .ocx
    • .msi
    • .xpi
    • .xap

欲了解更多資訊,請參閱簽署驗證 Windows 驅動程式

預生產版簽名驅動程式

合作夥伴在早期開發與驗證階段可進行預生產簽署。 預生產型簽署驅動程式允許合作夥伴在安全啟動仍啟用的系統上測試驅動二進位檔。

預設情況下,這些驅動程式在零售系統上不被信任。 相反地,它們只會載入在已明確配置為信任開發版本簽章的裝置上。 此規範允許更高保真度的測試,包括安全開機相容性,同時確保無法廣泛部署未完成或未驗證的驅動程式。

支援的案例

當合作夥伴需要使用預生產簽署時,您可能會想這樣做:

  • 驗證尚未準備好提交 WHCP/HLK 的早期驅動程式。

  • 啟用安全啟動的情況下,進行系統啟動與協同開發測試。

  • 在受控環境中測試作業系統安全功能互動,例如基於虛擬機監控程式的程式碼完整性(HVCI)及核心/使用者模式程式碼完整性。

作業系統設定相容性

當您使用預製簽署配置來配置裝置時:

  • 驅動程式安裝與載入皆支援,並啟用安全開機。

  • HVCI、核心模式程式碼完整性及使用者模式程式碼完整性仍被支援,類似零售及認證可信配置。

  • 除非零售系統明確設定要信任預生產簽章,否則驅動程式不會載入。

支援的驅動程式特徵屬性

以下驅動程式簽章屬性支援於預生產簽約:ELAM、HalExt、PETrust、DRM 及 Windows Hello。

配置與提交

要使用預生產簽章,合作夥伴必須配置測試設備以信任預生產簽章。 如需詳細的配置說明,包括必要的安全開機政策與工具,請參閱 「如何測試啟用安全開機的預生產驅動程式」。

合作夥伴可透過 Microsoft 硬體開發中心的 API 建立並管理預製版提交。 關於提交步驟及套件管理細節,請參見 管理預製簽署提交

Windows Server 簽名驅動程式

了解以下關於 Windows Server 簽名驅動程式的限制:

  • Windows Server 2016 及以上版本不接受經過驗證的裝置與過濾器驅動程式簽署提交。

  • 儀表板只會簽署成功通過 HLK 測試的裝置和過濾器驅動程式。

  • Windows Server 2016 及以後版本只會載入成功通過 HLK 測試的儀表板簽名驅動程式。

Windows Defender 應用控制

針對 Windows 10 企業版,企業可實作政策來修改驅動程式簽署需求。 Windows Defender 應用程式控制(WDAC)提供企業定義的程式碼完整性政策,可設定為至少需要一個證明簽署的驅動程式。 欲了解更多關於 WDAC 的資訊,請參閱 「部署企業應用程式控制政策」。

Windows 驅動程式簽署需求

下表總結了 Windows 的驅動程式簽署需求。

版本 認證儀表板已簽署 HLK 測試通過的儀表板已簽署 使用 2015 年 7 月 29 日前簽發的 SHA-1 憑證交叉簽署
Windows Vista No 是的 是的
Windows 7 No 是的 是的
Windows 8 / 8.1 No 是的 是的
Windows 10 是的 是的 沒有(從 Windows 10 1809 開始)
Windows 10 - 啟用 DG *依配置而定 *依配置而定 *依配置而定
Windows Server 2008 R2 No 是的 是的
Windows Server 2012 R2 No 是的 是的
Windows Server >= 2016 No 是的 是的
Windows Server >= 2016 – DG 啟用 *依配置而定 *依配置而定 *依配置而定
Windows IoT Enterprise 是的 是的 是的
Windows IoT Enterprise - DG 啟用 *依配置而定 *依配置而定 *依配置而定
Windows IoT Core(1) 是的(非必須) 是的(非必須) 可以(交叉簽署也適用於2015年7月29日之後發出的證書)

*依設定而定 – 在 Windows 10 企業版中,組織可使用 WDAC 定義自訂簽約需求。

(1) 使用物聯網核心打造零售產品(即非開發用途)的製造商,必須進行驅動程式簽署。 有關核准的憑證授權機構清單,請參見 核心模式程式碼簽署的交叉憑證。 如果啟用了 UEFI 安全開機,那你必須使用簽署驅動程式。