AssemblySignatureKeyAttribute Klasse

Definition

Stellt die Migration von einem älteren, einfacheren Schlüssel mit starkem Namen zu einem größeren Schlüssel mit einem stärkeren Hashalgorithmus bereit.Provides migration from an older, simpler strong name key to a larger key with a stronger hashing algorithm.

public ref class AssemblySignatureKeyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)]
public sealed class AssemblySignatureKeyAttribute : Attribute
type AssemblySignatureKeyAttribute = class
    inherit Attribute
Public NotInheritable Class AssemblySignatureKeyAttribute
Inherits Attribute
Vererbung
AssemblySignatureKeyAttribute
Attribute

Hinweise

Der neue größere Schlüssel ist der Signatur Schlüssel.The new larger key is the signature key. In Versionen vor .NET Framework 4.5.NET Framework 4.5war der Signatur Schlüssel mit dem Identitätsschlüssel identisch.In versions before the .NET Framework 4.5.NET Framework 4.5, the signature key was identical to the identity key. Beginnend mit .NET Framework 4.5.NET Framework 4.5ermöglicht das AssemblySignatureKeyAttribute -Attribut, dass die Assemblymetadaten weiterhin über das alte öffentliche Schlüssel Token und Binary Large Object (BLOB) verfügen, damit vorhandene Assemblyverweise weiterhin funktionieren.Starting with the .NET Framework 4.5.NET Framework 4.5, the AssemblySignatureKeyAttribute attribute allows the assembly metadata to continue to have the old public key token and binary large object (BLOB) so that existing assembly references continue to work. Außerdem wird sichergestellt, dass die Zuordnung von einem Besitzer des Identitäts Schlüssels stammt.It also ensures that the mapping comes from an owner of the identity key.

Das vorhanden sein des Attributs bedeutet nicht notwendigerweise, dass eine starke namens Überprüfung stattfindet.The presence of the attribute does not necessarily mean that strong name validation takes place. In gängigen Szenarien mit voller Vertrauenswürdigkeit wird das Attribut niemals berücksichtigt, da starke namens Signaturen nie überprüft werden.In common full-trust scenarios, the attribute is never considered, because strong name signatures are never validated. Wenn jedoch die starke namens Signatur überprüft werden muss, müssen sowohl die starke namens Signatur als auch die gegen Signatur überprüft werden.However, when the strong name signature does have to be validated, both the strong name signature and the countersignature must be validated. Der Identitätsschlüssel der Assembly muss nicht mit dem Signatur Schlüssel identisch sein (der Schlüssel, der zum Durchführen der eigentlichen Signierung und Validierung verwendet wird).The assembly's identity key does not have to be identical to the signature key (the key used to do the actual signing and validation). Der Identitätsschlüssel kann einem anderen (robusteren) Signatur Schlüssel zugeordnet werden.The identity key can be mapped to a different (more robust) signing key. Auf diese Weise können Sie die Identität einer Assembly festlegen und die Signatur Schlüssel und-Algorithmen auf sicherere Versionen aktualisieren.This lets you set the identity of an assembly, and update the signing keys and algorithms to more secure versions.

Die gegen Signatur behandelt Sicherheitsbedenken, wenn eine böswillige Assembly eine andere Identität beansprucht.The countersignature addresses security concerns when a malicious assembly claims some other identity. Beispielsweise könnte eine schädliche System. Core. dll-Assembly den öffentlichen Microsoft-Schlüssel in den Metadaten enthalten und das-Attribut verwenden, um die starke namens Überprüfung anzuweisen, den Signatur Schlüssel des Angreifers zu verwenden, wenn keine gegen Signatur vorhanden ist.For example, a malicious System.Core.dll assembly could contain the Microsoft public key in its metadata, and use the attribute to tell strong name validation to use the attacker's signature key if no countersignature is present. Daher könnte Sie als eine mit starkem Namen validierte Microsoft-Assembly maskiert werden.Thus, it could masquerade as a strong name-validated Microsoft assembly.

Weitere Informationen zum Signieren von Assemblys für die Verwendung mit diesem neuen Attribut finden Sie unter Erweiterte starke Namen.For information about how to sign assemblies for use with this new attribute, see Enhanced Strong Naming.

Konstruktoren

AssemblySignatureKeyAttribute(String, String)

Erstellt eine neue Instanz der AssemblySignatureKeyAttribute-Klasse, wobei der angegebene öffentliche Schlüssel und die Gegensignatur verwendet werden.Creates a new instance of the AssemblySignatureKeyAttribute class by using the specified public key and countersignature.

Eigenschaften

Countersignature

Ruft die Gegensignatur für den starken Namen für diese Assembly ab.Gets the countersignature for the strong name for this assembly.

PublicKey

Ruft den öffentlichen Schlüssels für den starken Namen ab, der verwendet wird, um die Assembly zu signieren.Gets the public key for the strong name used to sign the assembly.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Geerbt von Attribute)

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Geerbt von Attribute)

Gilt für: