AssemblySignatureKeyAttribute Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt migratie van een oudere, eenvoudigere sterke naamsleutel naar een grotere sleutel met een sterker hashing-algoritme.
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
- Overname
- Kenmerken
Opmerkingen
De nieuwe grotere sleutel is de handtekeningsleutel. In versies vóór het .NET Framework 4.5 was de handtekeningsleutel identiek aan de identiteitssleutel. Vanaf het .NET Framework 4.5 kan het kenmerk AssemblySignatureKeyAttribute de metagegevens van de assembly het oude openbare-sleuteltoken en het binaire grote object (BLOB) blijven gebruiken, zodat bestaande assemblyverwijzingen blijven werken. Het zorgt er ook voor dat de toewijzing afkomstig is van een eigenaar van de identiteitssleutel.
De aanwezigheid van het kenmerk betekent niet noodzakelijkerwijs dat er een sterke naamvalidatie plaatsvindt. In veelvoorkomende scenario's met volledig vertrouwen wordt het kenmerk nooit beschouwd, omdat handtekeningen met sterke namen nooit worden gevalideerd. Wanneer de sterke naamhandtekening echter moet worden gevalideerd, moeten zowel de sterke naamhandtekening als de tegentekening worden gevalideerd. De identiteitssleutel van de assembly hoeft niet identiek te zijn aan de handtekeningsleutel (de sleutel die wordt gebruikt om de werkelijke ondertekening en validatie uit te voeren). De identiteitssleutel kan worden toegewezen aan een andere (krachtigere) ondertekeningssleutel. Hiermee kunt u de identiteit van een assembly instellen en de ondertekeningssleutels en algoritmen bijwerken naar veiligere versies.
Met de tegentekening worden beveiligingsproblemen opgelost wanneer een kwaadwillende assembly een andere identiteit claimt. Een kwaadwillende System.Core.dll assembly kan bijvoorbeeld de Microsoft openbare sleutel in de metagegevens bevatten en het kenmerk gebruiken om sterke naamvalidatie te vertellen om de handtekeningsleutel van de aanvaller te gebruiken als er geen tegentekening aanwezig is. Het kan zich dus maskeren als een sterke naam-gevalideerde Microsoft assembly.
Zie Enhanced Strong Naming voor informatie over het ondertekenen van assembly's voor gebruik met dit nieuwe kenmerk.
Constructors
| Name | Description |
|---|---|
| AssemblySignatureKeyAttribute(String, String) |
Hiermee maakt u een nieuw exemplaar van de AssemblySignatureKeyAttribute klasse met behulp van de opgegeven openbare sleutel en de aantekening. |
Eigenschappen
| Name | Description |
|---|---|
| Countersignature |
Hiermee haalt u de tegentekening op voor de sterke naam voor deze assembly. |
| PublicKey |
Hiermee haalt u de openbare sleutel op voor de sterke naam die wordt gebruikt om de assembly te ondertekenen. |
| TypeId |
Wanneer deze wordt geïmplementeerd in een afgeleide klasse, krijgt u Attributehiervoor een unieke id. (Overgenomen van Attribute) |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een opgegeven object. (Overgenomen van Attribute) |
| GetHashCode() |
Retourneert de hash-code voor dit exemplaar. (Overgenomen van Attribute) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| IsDefaultAttribute() |
Wanneer deze wordt overschreven in een afgeleide klasse, geeft u aan of de waarde van dit exemplaar de standaardwaarde is voor de afgeleide klasse. (Overgenomen van Attribute) |
| Match(Object) |
Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object. (Overgenomen van Attribute) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Hiermee wordt een set namen toegewezen aan een bijbehorende set verzend-id's. (Overgenomen van Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Hiermee haalt u de typegegevens voor een object op, die kan worden gebruikt om de typegegevens voor een interface op te halen. (Overgenomen van Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt (0 of 1). (Overgenomen van Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Biedt toegang tot eigenschappen en methoden die door een object worden weergegeven. (Overgenomen van Attribute) |