AssemblySignatureKeyAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje migraci ze staršího, jednoduššího klíče silného názvu na větší klíč se silnějším algoritmem hash.
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
- Dědičnost
- Atributy
Poznámky
Nový větší klíč je podpisový klíč. Ve verzích před .NET Framework 4.5 byl podpisový klíč stejný jako klíč identity. Počínaje .NET Framework 4.5 umožňuje atribut AssemblySignatureKeyAttribute metadata sestavení nadále používat starý token veřejného klíče a binární velký objekt (BLOB), aby existující odkazy na sestavení nadále fungovaly. Zajišťuje také, že mapování pochází od vlastníka klíče identity.
Přítomnost atributu nemusí nutně znamenat, že probíhá ověření silného názvu. V běžných scénářích plné důvěryhodnosti se atribut nikdy nepovažuje, protože podpisy silných názvů se nikdy neověřují. Pokud je však nutné ověřit podpis silného názvu, musí být ověřen podpis silného názvu i čítače. Klíč identity sestavení nemusí být shodný s podpisovým klíčem (klíč použitý k provedení skutečného podepisování a ověření). Klíč identity je možné mapovat na jiný (robustnější) podpisový klíč. To vám umožní nastavit identitu sestavení a aktualizovat podpisové klíče a algoritmy na bezpečnější verze.
Countersignature řeší obavy zabezpečení, když sestavení se zlými úmysly deklaruje jinou identitu. Například škodlivé System.Core.dll sestavení může v metadatech obsahovat veřejný klíč Microsoft a použít atribut k ověření silného názvu, aby používal podpisový klíč útočníka, pokud neexistuje žádný protisignature. Proto může masquerádovat jako silné jméno ověřeno Microsoft sestavení.
Informace o tom, jak podepsat sestavení pro použití s tímto novým atributem, naleznete v tématu Rozšířené silné pojmenování.
Konstruktory
| Name | Description |
|---|---|
| AssemblySignatureKeyAttribute(String, String) |
Vytvoří novou instanci AssemblySignatureKeyAttribute třídy pomocí zadaného veřejného klíče a countersignature. |
Vlastnosti
| Name | Description |
|---|---|
| Countersignature |
Získá countersignature pro silný název pro toto sestavení. |
| PublicKey |
Získá veřejný klíč pro silný název použitý k podepsání sestavení. |
| TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno od Attribute) |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
| GetHashCode() |
Vrátí kód hash pro tuto instanci. (Zděděno od Attribute) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IsDefaultAttribute() |
Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu. (Zděděno od Attribute) |
| Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní. (Zděděno od Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od Attribute) |