Windows平台 PE檔案數位簽章格式

來源:互聯網
上載者:User

 

摘要
Authenticode是一種數位簽章格式,它是用來驗證二進位軟體的來源和完整性。Authenticode是基於公開密匙加密標準(PKCS) #7 來簽名資料,並使用X.509認證來綁定經過數字簽發的二進位程式與其軟體發行者的身份的聯絡。這份文檔包含Authenticode簽名的結構和技術細節。

概覽Overview

在PE檔案中的可信代碼數位簽章是PKCS #7 簽名塊結構。該簽名可以保證:
· 這份軟體源於某個確定的軟體發行者。
· 這份軟體自從簽署以來沒有經過修改。
一份PKCS #7 簽名塊結構包含該PE檔案的雜湊值、通過軟體發行者私匙建立的簽名以及將軟體發行者的簽名密匙綁定到一個合法實體的X.509 v3認證。一份PKCS #7簽名塊可以包含以下可選資訊:
· 關於軟體發行者的描述
· 軟體發行者的連結
· 可信程式碼簽署的時間戳記
簽章時間戳由時間戳記權威機構(TSA)產生,並且保證軟體發行者所做的簽名在這個時間戳記之前已經存在。這個時間戳記可以延長了這個簽名的生命期,即便相關的簽署憑證已經到期或者後來被廢除。
可信程式碼簽署可以被嵌入到Windows的PE檔案中,位於PE檔案的Optional Header Data Directories結構中Certificate Table所指向的位置。當可信程式碼簽署被用於簽署一個Windows PE檔案時,計算檔案數位簽章雜湊值的演算法略過PE檔案結構中的特定欄位。當把數位簽章嵌入檔案時,簽名過程可以修改這些欄位,而不致於影響檔案的雜湊值。
圖1顯示了一幅簡單的PE檔案全域圖,它描述了數位簽章是如何包含在PE檔案中的。它包含了嵌入的可信代碼數位簽章和指出那些被略過計算PE檔案雜湊值的PE結構欄位。
關於PE檔案結構的細節,請參閱“Microsoft Portable Executable and Common Object File Format Specification”(PE/COFF specification)。
關於可信代碼數位簽章中PKCS #7部分的細節,請參閱本文檔後面的Abstract Syntax Notation version 1 (ASN.1) 結構定義。
關於可信代碼數位簽章如何計算PE檔案雜湊值的細節,參閱本文檔後面的“Calculating the PE Image Hash”。

 

申請免費的數位憑證

登入www.ca365.com,在“免費認證”欄中點擊“用表格申請認證”連結。在頁面中填入相應資訊就可以申請免費認證。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.