Strong name

Материал из Википедии — свободной энциклопедии
Это текущая версия страницы, сохранённая 176.59.4.3 (обсуждение) в 22:04, 18 февраля 2022 (Обход защиты strong name). Вы просматриваете постоянную ссылку на эту версию.
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Strong name (в переводе с англ. — «Строгое имя») — подпись (маркер открытого ключа) сборки в GAC. Во время подписи сборки вычисляется открытый криптографический ключ и закрытый криптографический ключ, который находится только у производителя данной сборки. Strong name образуется при помощи хеширования закрытого криптографического ключа.

Роль strong name

[править | править код]

Strong name необходим исключительно для определения сборки как уникальной в GAC. Также существует заблуждение, что strong name предоставляет сборке полную защиту от модификации. Эту защиту можно обойти.

Обход защиты strong name

[править | править код]

При изменении содержания сборки, изменяется и strong name, поэтому программа, использующая данную сборку, при её модификации, откажется работать с ней. Но существует способ обойти такую защиту. Для обхода необходимо удалить strong name сборки и использующего её приложения.

Подпись сборок Microsoft

[править | править код]

Большинство сборок, выпускаемых компанией Microsoft, подписаны одним и тем же strong name. Так происходит, потому что все эти сборки подписаны с помощью одного и того же закрытого ключа, соответственно их strong name генерируется с помощью хеширования одного и того же закрытого криптографического ключа.