Dot-Net

.NET:強命名與 Authenticode

  • December 17, 2010

例如,在閱讀了 .NET here中的強名稱後,我有以下問題:

我們有一個Authenticode程式碼簽名證書,我們用它來簽署我們所有的 EXE、DLL 和 MSI 文件。這樣做的好處是 Windows 知道 MSI 來自受信任的來源,並且可以根據需要驗證每個文件的真實性。

我們目前不使用**.NET 強名稱**。我已經讀過強命名文件本質上意味著它是使用自簽名證書進行數字簽名的。我對此的看法是,由受信任的證書頒發機構簽名的 Authenticode 證書比自簽名證書更有價值,因為自簽名證書的真實性沒有人可以驗證,因為它們缺少根證書(我們不會將其分發給最終使用者,我們是!?)。

**問題:**如果已經使用了 Authenticode 簽名,那麼其他強命名程序集是否有任何價值?

答案將取決於您創建強名稱的原因 - 強名稱的預期用途是為程序集創建唯一標識。例如,如果您需要在 GAC 中推送程序集,則必須使用強名稱。然而,強名稱並不是真正用於驗證發布者的真實性 - Authenticode 服務於該目的。請參閱這篇文章:http: //blogs.msdn.com/b/shawnfa/archive/2005/12/13/authenticode-and-assemblies.aspx

引用自:https://stackoverflow.com/questions/4469646