1. 發布者從CA機構申請數字證書;
2. 發布者開發出代碼;借助代碼簽名工具,發布者將使用MD5或SHA算法產生代碼的哈希值,然後用代碼簽名證書私鑰對該哈希值簽名,從而產生壹個包含代碼簽名和軟件發布者的簽名證書的軟件包;
3. 用戶的運行環境訪問到該軟件包,並檢驗軟件發布者的代碼簽名數字證書的有效性。操作系統或瀏覽器通過可信根證書列表驗證代碼簽名證書的有效性,確認發布者身份可信,軟件未被篡改。
4. 用戶的運行環境使用代碼簽名數字證書中含有的公鑰解密被簽名的哈希值;
5. 用戶的運行環境使用同樣的算法新產生壹個原代碼的哈希值;
6. 用戶的運行環境比較兩個哈希值。如果相同,將發出通知聲明代碼已驗證通過。所以用戶可以相信該代碼確實由證書擁有者發布,並且未經篡改。
整個過程對用戶完全透明,用戶將可以看到軟件發布者提示信息,並可以選擇是否信任該軟件發布者。在選擇信任軟件發布者之後,運行所有該軟件發布者簽名的程序時將可以不再收到任何提示信息。