Есть ли причина отправить файл .snk вместе с исходниками проекта? - PullRequest
4 голосов
/ 31 января 2011

Время от времени я вижу в сети пример проекта, который содержит файл .snk, используемый для подписания результатов компиляции со строгим именем.

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

Есть ли причина для отправки файла .snkкроме этого "удобства"?

Ответы [ 3 ]

3 голосов
/ 31 января 2011

Очень актуальный вопрос.Я для my part не отправляю файл SNK, но предоставляю инструкции , как создать его самостоятельно и внести необходимые изменения (например, для включения InternalsVisibleTo)).

Я думаю, что нынешняя практика подтолкнула мою Microsoft изменениями в обработке SNK, начиная с VS2005.Использование контейнера ключей требует ручного редактирования файла CSPROJ с недокументированным элементом MSBUILD KeyContainerName ... по умолчанию VS - копировать SNK в каталог проекта, что удобно, но неверно, IMHO.

2 голосов
/ 31 января 2011

Единственная причина, по которой я могу придумать, - это разрешить замену вашего dll ...

Конечно, обычно я бы сказал: "Не подписывайте свою dll, если вы хотите сделать замену". но если это установлено в GAC, подпись является обязательным условием. (или был в прошлый раз, когда я знал).

То есть разрешает замену вашей dll, установленной в GAC . Это единственная разумная причина, о которой я могу думать ...

1 голос
/ 31 января 2011

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

В любом случае, это кажется обычной практикой (плохой практикой) вмножество проектов с открытым исходным кодом для добавления файла .snk в систему контроля версий.Так что очень хороший вопрос!

...