Authenticode 數位簽章

Authenticode 是一種 Microsoft 程式代碼簽署技術,可識別 Authenticode 簽署軟體的發行者。 Authenticode 也會驗證軟體自簽署和發佈以來沒有任何變更。

Authenticode 會使用密碼編譯技術來驗證發行者身分識別和程式代碼完整性。 它將數位簽章與受信任實體(包括憑證授權單位 (CA))的基礎設施相結合,向使用者保證驅動程式源自指定的發布者。 Authenticode 可讓使用者將數位簽章中的憑證鏈結至受信任的根憑證,以驗證軟體發行者的身分識別。

軟體發行者會使用 Authenticode 來簽署驅動程式或驅動程式套件,方法是使用數位憑證來標記驅動程式或驅動程式套件。 憑證會驗證發行者的身分識別,並讓程式碼的收件者能夠驗證程式碼的完整性。 憑證是識別軟體發行者的一組資料。 只有在該授權單位驗證軟體發行者的身分之後,CA 才會發出憑證。 憑證資料包括發行者的公開密碼編譯金鑰。 憑證通常是這類憑證鏈的一部分,最終參考知名的 CA,例如 VeriSign。

Authenticode 程式代碼簽署不會變更驅動程式的可執行檔部分。 相反地,它會完成下列動作:

  • 內嵌簽章:簽署程式會在驅動程式檔案的非執行部分內嵌數位簽章。 如需詳細資訊,請參閱 驅動程式檔案中的內嵌簽章

  • 數位簽署的目錄檔案:簽署程式需要從驅動程式套件內每個目錄檔案 (.cat) 的內容產生檔案雜湊值。 此雜湊值包含在目錄檔案中。 然後,目錄檔案會使用內嵌簽章進行簽署。 如此一來,型錄檔案就是一種分離的簽章。

備註

硬體認證套件 (HCK) 包含各種裝置類型的測試類別。 您可以在 HLK API 參考中檢閱 Windows 硬體實驗室套件 (HLK) 的測試類別清單。 如果此清單中包含裝置類型的測試類別,軟體發行者應該取得驅動程式套件Windows 硬體品質實驗室 (WHQL) 發行簽章。 不過,如果 HCK 沒有裝置類型的測試程式,軟體發行者可以使用 Microsoft Authenticode 技術來簽署驅動程式套件。 如需詳細資訊,請參閱 簽署驅動程式以供公開發行