2011-01-11 280 views
1

我有許多不同的項目,這些項目正在成熟,我將爲他們購買代碼簽名證書。我對代碼簽名證書的理解是,它意味着在我的用戶基礎和開發者(我)之間建立信任關係。爲此,購買一個代碼簽名證書並使用相同證書籤署我的所有項目是有意義的。但是,我也意識到代碼簽名證書的另一個功能是對部分部分進行加密,以確保產品在用戶基礎安裝之前不被篡改。我的理解是,在不同的數據(在這種情況下,我的多個項目)上使用證書(或任何加密方法)的情況越多,它就變得越不安全(我知道這裏有一點概括)。代碼簽名證書

所以,我的問題是:

我應該得到每個部署下的一個代碼證,或者只有一個,並簽署所有這些呢?

(我的理解也認爲這可能是一個稍微主觀的問題,所以,如果是那樣的話,也許我們可以簡單地提供了兩種選擇的利弊。)

回答

1

簡短的回答:您可以使用相同的證書爲您的所有項目。

龍答:

  • 存在代碼簽名過程中沒有加密。數字簽名提供了完整性(代碼未被篡改)和真實性(您是作者),但不是機密性(所有內容均以純文本形式提供)
  • 公鑰密碼系統安全性基於這樣一個事實: (計算地)從公鑰中找到私鑰。這是通過複雜的數學問題如大數分解或離散對數來實現的。但是同一個密鑰產生的大量簽名不應該削弱這個密鑰(例如,證書頒發機構或時間戳機構每天使用相同的密鑰執行數千個簽名)。
0

你必須權衡雙方:

只需一個證書的所有代碼/腳本,它只有一個密碼要記住,更容易處理;然而,如果它需要被撤銷(並且出於安全原因,您進行撤銷檢查),否則不會運行任何代碼/腳本,直到替換部署到處! (每個部署一個沙盒,每個部署一個,因此被撤銷的一個會阻止其他人工作。)