2010-02-22 43 views
12

我們生產一個內容管理系統。這是一個基於數據庫的系統,僅供企業和組織使用,絕不可從互聯網上下載。也就是說,這不是某人可能會偶然發現的軟件,而是想知道它是什麼以及是否安全運行。在超過20年的時間裏,我們的系統正在銷售,其可執行文件從未進行數字簽名。現在是我們開始簽署他們的時候了嗎?它對我們的可執行文件進行數字簽名有多重要?

對於初學者來說,我能想到的一些優點和缺點:

  • 臨:如果使用的VeriSign證書,Windows Error Reporting可用於
  • 臨:當Windows   Vista和Windows   7顯示的一個那些煩人的UAC消息,簽名的應用程序呈現得更漂亮一些
  • Con:證書花錢。不是很多,但是如果它們沒用,它太多了
  • Con:簽名有一些維護開銷,我不知道多少。

回答

2

從技術方面說,你已經說過利弊。

從業務角度來看,這取決於您的用戶,也許如果您正在銷售B2B,那麼就好像您正在銷售B2C或不那麼重要的用戶一樣,他們會更加欣賞更好的UAC消息。

老實說,我不擔心....如果你沒有這種衝動,找不到一個真正的理由,那麼它並不重要。

我寧願花這些努力改善別的東西。

0

簽名有一些維護開銷,我多少不知道。

我相信如果您分發簽名的可執行文件,所有依賴庫也必須簽名。如果您使用的是某些您無法控制的第三方模塊,則可能會遇到問題。

+0

您的意思是使用相同的證書籤名,還是由任何證書籤名?前者是不可能的(不能簽署kernel32.dll),但後者似乎也是一個問題。未簽名的第三方可執行文件是否可以通過我們的應用程序進行部署? – eran 2010-02-22 11:18:19

4

臨:如果使用的VeriSign證書,Windows錯誤報告可用於

實際上,使用Windows錯誤報告,你需要Verisign或其他代碼接受簽名證書,但你需要的證書只能訪問WinQual系統。 exe本身並不需要簽名,錯誤報告在無符號的exes上也可以很好地工作。

Con:簽名有一些維護開銷,我多少不知道。會喜歡從你這裏...

維護開銷高度取決於您的構建管道的質量。如果你手動構建你的應用程序,那麼是的,這意味着更多的步驟。但是,如果您有構建管道並且構建是自動的,則代碼簽名意味着在構建腳本中添加幾行內容並存儲代碼簽名證書的私鑰,以便構建可以訪問它(如果您有構建服務器,您的代碼簽名證書很可能需要存儲在其上)。

臨:當Vista/7的顯示那些煩人的UAC消息中的一個,簽名的軟件都多一點很好

至於UAC提示 - 做你的應用程序確實需要提升或管理員權限才能運行?避免此提示的最好方法是不要求任何提升的特權。

+0

你對UAC消息是正確的 - 在做了一些工作後,我們的應用程序現在以用戶權限運行,所以這些消息不應該出現。但是,如果其他人(例如防火牆),他們可能會更好,如果應用程序簽名。 – eran 2010-02-22 20:23:22

+0

防火牆消息和其他類似的東西可以通過安裝程序進行處理(假設您使用的是安裝程序)。使用提升的權限運行設置通常被認爲是合理的,但運行該應用程序不是。 – Suma 2010-02-22 20:33:52

相關問題