Что такое строгое именование и как делают меня строгое имя двоичный файл?

result = bytes.fromhex(some_hex_string)
17
задан esac 17 September 2009 в 05:40
поделиться

4 ответа

Эрик Липперт недавно опубликовал о сборках со строгой подписью:

Назначение строгого имени состоит исключительно в том, чтобы гарантировать, что при загрузке сборки по имени, вы загружаете именно ту сборку, которую думаете, что загружаете . Вы говорите: «Я хочу загрузить Frobber версии 4, полученной от FooCorp». Механизм строгого имени гарантирует, что вы действительно загрузите именно эту DLL, а не другую сборку под названием Frobber, версия 4, которая пришла от Dr. Evil Enterprises. Затем вы можете установить политику безопасности, которая гласит: «Если у меня есть сборка от FooCorp на моем компьютере, полностью доверяйте ей». Эти сценарии являются единственными намерениями использования строгих имен.

19
ответ дан 30 November 2019 в 13:05
поделиться

Короче говоря, сборки со строгими именами подписываются сертификатом. Они играют роль для CAS (Code Access Security): что сборка имеет право делать или не делать.

[Edit], как указали некоторые из вас: действительно рекомендуется создавать сильные сборки, поскольку они будут более устойчивы к атакам, таким как внедрение чужого вредоносного кода в ваше приложение, если вы, например, написали какой-либо механизм подключаемых модулей.

Таким образом вы можете ограничить то, что разрешено делать сторонним надстройкам в контексте вашего приложения.

2
ответ дан 30 November 2019 в 13:05
поделиться

Я нашел эту статью журнала MSDN полезной при изучении сборок строгого именования.

2
ответ дан 30 November 2019 в 13:05
поделиться

If you're talking about .NET assemblies, here are the docs.

1
ответ дан 30 November 2019 в 13:05
поделиться