AssemblySignatureKeyAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從舊的、較簡單的強式名稱金鑰移轉到具有較強的雜湊演算法、較大的金鑰。
public ref class AssemblySignatureKeyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)]
public sealed class AssemblySignatureKeyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)>]
type AssemblySignatureKeyAttribute = class
inherit Attribute
Public NotInheritable Class AssemblySignatureKeyAttribute
Inherits Attribute
- 繼承
- 屬性
備註
新的較大金鑰是簽章金鑰。 在 .NET Framework 4.5 之前的版本中,簽章密鑰與識別密鑰相同。 從 .NET Framework 4.5 開始,AssemblySignatureKeyAttribute屬性可讓元件元數據繼續讓舊的公鑰令牌和二進位大型物件 (BLOB) ,讓現有的元件參考繼續運作。 它也可確保對應來自身分識別密鑰的擁有者。
屬性的存在不一定表示進行強名稱驗證。 在常見的完全信任案例中,永遠不會考慮 屬性,因為永遠不會驗證強名稱簽章。 不過,必須驗證強名稱簽章時,必須驗證強名稱簽章和計數器簽署。 元件身分識別金鑰不一定與簽章金鑰相同, (用來執行實際簽署和驗證的金鑰) 。 身分識別金鑰可以對應至不同的 (更健全) 簽署密鑰。 這可讓您設定元件的身分識別,並將簽署密鑰和演算法更新為更安全的版本。
當惡意元件宣告一些其他身分識別時,計數器會解決安全性考慮。 例如,惡意 System.Core.dll 元件可能在其元數據中包含 Microsoft 公鑰,並使用 屬性來告知強名稱驗證在沒有任何反簽署時使用攻擊者的簽章密鑰。 因此,它可以偽裝為強名稱驗證的 Microsoft 元件。
如需如何簽署元件以搭配這個新屬性使用的資訊,請參閱 增強式強式命名。
建構函式
AssemblySignatureKeyAttribute(String, String) |
使用指定的公開金鑰和副署,建立 AssemblySignatureKeyAttribute 類別的新執行個體。 |
屬性
Countersignature |
取得這個組件的強式名稱副署。 |
PublicKey |
取得用來簽署組件之強式名稱的公開金鑰。 |
TypeId |
在衍生類別中實作時,取得這個 Attribute 的唯一識別碼。 (繼承來源 Attribute) |
方法
Equals(Object) |
傳回值,這個值指出此執行個體是否與指定的物件相等。 (繼承來源 Attribute) |
GetHashCode() |
傳回這個執行個體的雜湊碼。 (繼承來源 Attribute) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
IsDefaultAttribute() |
在衍生類別中覆寫時,表示這個執行個體的值是衍生類別的預設值。 (繼承來源 Attribute) |
Match(Object) |
在衍生類別中覆寫時,會傳回值,表示這個執行個體是否等於指定物件。 (繼承來源 Attribute) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
明確介面實作
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。 (繼承來源 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
擷取物件的類型資訊,可以用來取得介面的類型資訊。 (繼承來源 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
擷取物件提供的類型資訊介面數目 (0 或 1)。 (繼承來源 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供物件所公開的屬性和方法的存取權。 (繼承來源 Attribute) |