Какой метод подписи использовать для открытых проектов с открытым исходным кодом? - PullRequest
2 голосов
/ 26 марта 2010

Я публикую библиотеку с открытым исходным кодом на CodePlex и хочу, чтобы файлы dll имели строгие имена, чтобы их можно было добавить в GAC.

Какой вариант подписи самый лучший?

Должен ли я использовать SNK? Если так, то у всех есть доступ к ключу. У меня нет проблем со всеми, кто имеет доступ, но это хороший подход?

Должен ли я использовать PFX? Если да, значит ли это, что другие люди, загружающие исходный код, не могут создать решение?

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

Ответы [ 2 ]

4 голосов
/ 26 марта 2010

Мы обсуждали это для Время Нода . Я полагаю, что консенсус состоял в том, что, когда мы перейдем к строгим именам, у нас будет один ключ, к которому имеют доступ только несколько основных разработчиков, и который он будет использовать для релизных сборок, - но есть другой ключ, который доступен для всех. Таким образом, любой, кто хочет убедиться, что он работает только против сборки, которую, как он знает, был «одобрен» участниками проекта, может построить против токена открытого ключа закрытого ключа, но любой может загрузить и собрать «не как доверенный». версия.

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

1 голос
/ 26 марта 2010

То, что я делаю со своими проектами в CodePlex, - это публикация выпусков с подписью SNK. Этот SNK, однако, не находится под контролем источников и не является общедоступным. Поэтому я единственный, кто может строго подписать сборки этим ключом. Я объяснил, что здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...