程式碼簽名證書是如何進行驗證工作的

abc123好_發表於2023-01-17

程式碼簽名證照(sslinfo.org)是透過對程式碼的數字簽名來標識軟體來源以及軟體開發者的真實身份,保證程式碼在簽名之後不被惡意篡改。使使用者在下載已經簽名的程式碼時,能夠有效的驗證該程式碼的可信度;同時證照又分為個人型(iv)、企業型(ov)和企業型(ev)。


程式碼簽名證照的驗證流程:


1)從CA機構授權數字證照,然後藉助程式碼簽名工具將程式碼進行MD5或者SHA計算產生雜湊值,在用程式碼簽名證照的私鑰對生成的雜湊值進行簽名。


2)使用者在下載軟體包時,執行環境(瀏覽器或者作業系統)會檢驗軟體釋出者的程式碼簽名證照的有效性。


3)最後使用者在使用前會將對含有公鑰密碼的簽名進行運算產生一個雜湊值,並使用同樣的演算法對程式碼進行運算產生一個雜湊值,如果這2個雜湊值匹配,則驗證透過。


4)整個過程對使用者完全透明,使用者將可以看到軟體釋出者提示資訊,並可以選擇是否信任該軟體釋出者。在選擇信任軟體釋出者之後,執行所有該軟體釋出者簽名的程式時將可以不再收到任何提示資訊。


不同型別的程式碼簽名證照,支援的簽名程式碼有所不同,這裡列出部分支援的程式碼簽名;


1)Windows.sys, .cat, .exe, .dll, .cab, .ocx( ActiveX )等檔案數字簽名。


2)XML 檔案數字簽名。


3)Adobe AIR的打包檔案 .air,.airi等檔案數字簽名。


4)Silverlight應用加密簽名(.xap)。


5).js檔案(JavaScript)數字簽名。


6)微軟Office VBA宏數字簽名。


7)火狐瀏覽器外掛.XPI檔案數字簽名。


8)Apple Mac 應用程式數字簽名。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70006289/viewspace-2932432/,如需轉載,請註明出處,否則將追究法律責任。

相關文章