共用方式為


強式名稱案例

下列案例概要說明使用強式名稱簽署組件的程序,以及稍後使用該名稱來參考組件。

  1. 組件 A 是以下列其中一個方法來建立強式名稱:

使用支援建立強式名稱的開發環境,例如 Visual Studio 2005。

  1. 開發環境或工具會簽署檔案雜湊,該檔案含有組件資訊清單和開發人員私密金鑰。這個數位簽章將儲存在含有組件 A 資訊清單的可移植執行檔 (PE) 中。

  2. 組件 B 是組件組件 A 的消費者。組件 B 資訊清單的參考區段包括代表組件 A 公開金鑰的語彙基元 (Token)。語彙基元是完整公開金鑰的一部分,可用來儲存空間 (而非使用金鑰本身)。

  3. Common Language Runtime 會在組件被放入全域組件快取時,驗證強式名稱簽章。在 Run Time 階段使用強式名稱繫結時,Common Language Runtime 會比對儲存在組件 B 資訊清單的金鑰和用來產生組件 A 強式名稱的金鑰。如果通過 .NET Framework 安全性檢查而且成功完成繫結,組件 B 便可確保組件 A 的位元不會被更改,而且這些位元的確是由組件 A 的開發人員撰寫。

    Note注意事項

    這個案例並未處理信任問題。除了強式名稱以外,組件還可帶有完整的 Microsoft® Authenticode® 簽章。Authenticode 簽章包括建立信任的憑證。請注意,強式名稱不要求使用這種方式來簽署程式碼,這點非常重要。事實上,用來產生強式名稱簽章的金鑰並非一定要使用用來產生 Authenticode 簽章的相同金鑰。

請參閱

參考

強式名稱工具 (Sn.exe)
組件連結器 (Al.exe)

其他資源

建立和使用強式名稱的組件