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 이전 버전에서는 서명 키가 ID 키와 동일했습니다. .NET Framework 4.5 AssemblySignatureKeyAttribute 부터 특성을 사용하면 기존 어셈블리 참조가 계속 작동하도록 어셈블리 메타데이터에 이전 공용 키 토큰 및 BLOB(Binary Large Object)가 계속 적용됩니다. 또한 매핑이 ID 키의 소유자로부터 제공되도록 합니다.
특성이 있다고 해서 반드시 강력한 이름 유효성 검사가 수행된다는 의미는 아닙니다. 일반적인 완전 신뢰 시나리오에서는 강력한 이름 서명의 유효성이 검사되지 않으므로 특성은 고려되지 않습니다. 그러나 강력한 이름 서명의 유효성을 검사해야 하는 경우 강력한 이름 서명과 카운터 서명의 유효성을 모두 검사해야 합니다. 어셈블리의 ID 키는 서명 키(실제 서명 및 유효성 검사를 수행하는 데 사용되는 키)와 동일할 필요가 없습니다. ID 키는 다른(보다 강력한) 서명 키에 매핑할 수 있습니다. 이렇게 하면 어셈블리의 ID를 설정하고 서명 키 및 알고리즘을 보다 안전한 버전으로 업데이트할 수 있습니다.
카운터 서명은 악의적인 어셈블리가 다른 ID를 클레임할 때 보안 문제를 해결합니다. 예를 들어 악의적인 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) |
이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다. (다음에서 상속됨 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다. (다음에서 상속됨 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1). (다음에서 상속됨 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다. (다음에서 상속됨 Attribute) |
적용 대상
.NET