Не отпускайте ключ.
Вы ДОЛЖНЫ чувствовать себя некомфортно, публикуя ключ подписи. Это не подпись проекта . Это ВАША подпись . Целостность подписи в двоичном файле сохраняется только в том случае, если вы храните свой ключ в секрете. Освобождение ключа подрывает значение и намерение подписанных сборок и строгих имен, что открывает новые возможности для ошибок и, следовательно, делает каждую систему менее надежной. Не отпускайте ключ .
Для DotNetZip , я не отпускаю ключ. Но вот ключевой момент: ключ не принадлежит проекту; это мой ключ . Многие люди спрашивают ключ, чтобы они могли пересоздать подписанный двоичный файл, но это не имеет смысла. Я использую ключ, чтобы подписать больше, чем DotNetZip. Любой двоичный файл, подписанный этим ключом, подписан мной по определению. Любые два двоичных файла, которые имеют одинаковое строгое имя, используя мой ключ, гарантированно будут идентичны. Отпускание ключей снимает эти гарантии и наносит ущерб всей цели строгих имен и безопасности, окружающей их.
Представьте, что разработчики выбирают свои собственные номера версий и заново подписывают модифицированный двоичный файл моим ключом. Теперь в мире будет 2 сборки с одинаковым строгим именем, но с разным содержанием.
Представьте себе, если бы я смог подписать любую сборку ВАШИМ ключом. Если бы вы выпустили свой ключ, я мог бы добавить любой понравившийся код - даже вредоносный код - и затем подписать его и тайно заменить любой ваш «хороший» подписанный двоичный файл на «плохой». Никто не сможет заметить разницу.
Это сломано. Свободный обмен ключами исключает любые преимущества использования подписанных сборок.
Если люди хотят изменить код в проекте, а затем повторно использовать измененную версию в сборке со строгим именем, они могут подписать измененную версию своим собственным ключом. Это не сложно.