AssemblySignatureKeyAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет миграцию от более старого, более простого ключа строгого имени к более длинному ключу с более сильным алгоритмом хэширования.
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 может содержать открытый ключ Майкрософт в своих метаданных и использовать атрибут , чтобы сообщить проверке строгих имен использовать ключ сигнатуры злоумышленника, если нет контригнатуры. Таким образом, он может маскироваться под сборку с проверкой строгого имени Майкрософт.
Сведения о том, как подписывать сборки для использования с этим новым атрибутом, см. в разделе Расширенное строгое именование.
Конструкторы
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) |
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе:Отправить и просмотреть отзыв по