Я где-то слышал, что мне нужно сильное имя моих двоичных файлов, прежде чем я их распространю. Любые идеи, что это такое?
Что такое сильное имя и как я могу назвать двоичный файл?
Ответ 1
Эрик Липперт опубликовал о сильных подписанных сборках в последнее время:
Цель сильного имени заключается исключительно в том, чтобы , когда вы загружаете сборку по имени, вы загружаете именно ту сборку, которую, по вашему мнению, загружаете. Вы говорите: "Я хочу загрузить Frobber, версия 4, которая появилась в FooCorp". Сильное устройство имен гарантирует, что вы действительно загружаете именно эту DLL, а не другую сборку под названием Frobber, версия 4, которая поступает от Dr. Evil Enterprises. Затем вы можете установить политику безопасности, в которой говорится: "Если у меня есть сборка с FooCorp на моей машине, полностью доверяйте ей". Эти сценарии являются единственными по конструируемым целями сильных имен.
Ответ 2
Я нашел эту статью статью журнала MSDN полезной, когда узнал о сильных сборках именования.
Ответ 3
Короче сильные именованные сборки подписываются с сертификатом. Они играют роль для CAS (Code Access Security): что сборка имеет право делать или не делать.
[Изменить], как некоторые из вас отметили: действительно рекомендуется создавать сильные сборки, поскольку они будут более надежными против таких атак, как введение чужого вредоносного кода в ваше приложение, если вы, например, написали некоторый механизм подключаемого модуля.
Таким образом вы можете ограничить возможности плагинов 3rdparty в контексте вашего приложения.
Ответ 4
Чтобы ответить на вторую часть вопроса: Как зарегистрировать сборку с сильным именем
Чтобы создать и подписать сборку с сильным именем с помощью Visual Studio
В Обозреватель решений откройте контекстное меню для решения, а затем выберите Свойства.
Выберите вкладку Подписывание.
Выберите Подписать сборку.
В поле Выбрать сильный ключевой файл выберите , а затем перейдите к файлу ключа. Чтобы создать новый файл ключа, выберите и введите его имя в диалоговом окне Создать сильное имя.
Ответ 5
Если вы говорите о сборках .NET, здесь документы.