Нужно ли мне защищать файл ключа строгого имени для проекта с открытым исходным кодом? - PullRequest
14 голосов
/ 08 мая 2009

Я создаю начальный комплект, который устанавливает скомпилированные сборки из проекта с открытым исходным кодом в GAC, чтобы упростить ссылки на сборки в шаблоне. Поскольку они собираются в GAC, они должны быть подписаны.

Нужно ли защищать паролем и защищать файл ключа, или можно оставить его открытым и включить файл в систему контроля версий?

Ответы [ 2 ]

10 голосов
/ 08 мая 2009

Строгое подписание имени имеет несколько целей (хотя , а не для реальной защиты от вмешательства в программу, что является распространенным заблуждением) - в вашем случае использование сильного ключа для уникальной идентификации (и проверки) конкретная версия конкретной сборки, которая требуется GAC. Другое использование, которое предотвращает спуфинг другими сборками, в этом случае не кажется необходимым (поправьте меня, если я ошибаюсь). По этой причине я считаю, что вполне приемлемо оставлять ключ открытым (не защищенным паролем) и включать файл в систему контроля версий. Насколько я вижу, вы не остановите все, что не хотите, паролем, защищающим ключ. (Однако, если бы вы могли предоставить более подробную информацию о контексте безопасности, мне, возможно, придется пересмотреть это представление.)

Кроме того, см. в этой статье MSDN для подробного обсуждения того, как правильно использовать строгую подпись в целом.

2 голосов
/ 08 мая 2009

Я бы сказал, включите ключ «разработки» в управление исходным кодом, чтобы упростить построение и не заставлять людей возиться с созданием и использованием своего собственного ключа. Ключ в управлении исходным кодом не имеет смысла с точки зрения безопасности, поскольку любой может подписать его. Если люди хотят подписать свою сборку вашего проекта с открытым исходным кодом, они могут заменить свой ключ, которым они могут управлять, так, как им нравится.

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

...