2010-02-12 82 views
4

我有一個全新的代碼簽名證書,並且想知道我應該簽署哪些文件。代碼簽名:我應簽署哪些文件類型,爲什麼?

顯然,運行提升的setup.msi包和所有.exe文件應進行簽名以避免「unknown publisher」警告,但是我應該簽署其他可執行文件,例如, .exe哪些不需要提升,.dll或.oxc?

微軟自己似乎不一致處理這個問題:

  • 在Office 2007中,所有的可執行文件asigned
  • 在Visual Studio 2008中,所有的.exe和.dll文件的許多簽署,但是,也有大量的無符號的DLL(顯然強名稱程序集,也許他們考慮強命名足夠了)
  • 在Windows(7),既不可執行也不DLL文件進行簽名(需要UAC一樣MMC.EXE甚至沒有可執行文件!)
+0

Windows 7可執行文件和DLL由Microsoft簽署,但是在CAB文件中,而不是在文件本身上,所以當您右鍵單擊該文件時沒有「Digital Signatures」選項卡,但是如果運行像sigcheck這樣的工具,會爲你找到簽名。 – 0xdabbad00 2014-10-11 17:52:16

回答

3

我想你回答了你自己的問題,只在需要避免提示的地方簽字。

只有幾個原因,我會考慮簽署一切。

  1. 它可能有某種優勢 與反病毒廠商處理 文件更值得信任,因此 支持較少/安裝 麻煩。
  2. 它將文件標記爲對一般用戶更可信,例如,當我使用MS中的autorun來清理受病毒感染的系統時,我傾向於尋找僞劣的東西,而且沒有簽名,它堅持了一英里。
  3. 你想看起來更專業。

我不知道在檢查簽名時有什麼開銷,所以舊系統可能會變慢。另外,如果您的證書來自廉價證書供應商,那麼根CA可能不會包含在舊版平臺(XP pre SP2等)中。

噢,是的,我只是將它作爲構建的一部分(集成到MSBuild或構建服務器),因爲它可能很乏味。

請記住,不要讓其他人訪問您的密鑰,否則您會將其撤銷,突然間,安裝可能會停止工作。因此,爲開發人員使用自簽名證書並將真正的密鑰鎖定在構建服務器上。

有點亂碼,但我認爲沒有正確的答案。

+0

感嘆 - 我希望得到更明確的答案,也許我忽略了一些微軟的指導。 但是,由於微軟自己顯然不能持續處理這個問題,所以似乎我不能期待這一點。 – oefe 2010-02-15 12:30:50

相關問題