2009-10-22 2 views
16

В настройках проекта визуальной студии вы можете выбрать сильный файл ключевого ключа для подписания сборки. При создании нового вы можете защитить его паролем. Когда вы это сделаете? А когда вы не должны?Когда вы должны защищать сильное имя ключевого файла с паролем?

Я думаю, что это может быть, например, не настолько умным, чтобы защитить его паролем, если проект является проектом с открытым исходным кодом, размещенным на Codeplex или аналогичным. Или он должен быть защищен? Не смогут ли люди загрузить исходный код и скомпилировать его, если файл ключа защищен? Или, как это работает?

ответ

12

В общем, вы должны защитить его паролем, если вы не доверяете людям, имеющим к нему доступ. Любой, у кого есть доступ к ключевому файлу, может создать сборку с вашим сильным именем (в отличие от аутентификации, они не выдают себя за вас, но они могут загружать свои сборки вместо ваших)

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

+2

Ох. Итак, если у меня есть две сборки, которые подписаны с сильными ключами. Если я затем добавлю ссылку от одного к другому, она будет работать только с той, которая была подписана с правой клавишей? – Svish

+2

Если вы ссылаетесь на строгую сборку имен, она не может быть заменена во время выполнения сборкой, подписанной с другим ключом (не совсем правильно, но давайте оставим более продвинутый материал на данный момент) –

+0

И по * во время выполнения * вы имеете в виду, когда приложение запускается, а не во время его запуска, правильно? (Просто, чтобы быть уверенным, что не понимаю: p) – Svish

Смежные вопросы