2009-04-28 3 views
1

Скажите, что у меня есть несколько сборок .NET и вы хотите подписать каждое из них с сильным именем. Достаточно ли одной пары ключей (один файл .snk) или мне нужно создать одну пару для каждой сборки? Должен ли я публиковать открытый ключ (каждой) ключевой пары?Сколько файлов .snk мне нужно?

ответ

4

Вам нужен только один файл .snk.

Публикация открытого ключа не требуется. Любой может получить открытый ключ, используя sn.exe с ключом -p.

+0

Но как он будет гарантировать, что это я опубликовал сборку? – sharptooth

+0

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

+0

Это только доказывает, что подписан с тем же ключом, что и тот, который поставляется вместе с сборкой. Но как определить, кто сгенерировал этот ключ? – sharptooth

1

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

+0

Достаточно ли одного ключевого слова для всей компании ? – sharptooth

1

У нас есть (3) .snk файлы.

Один из них, который мы используем для подписи наших сборок, который был отправлен для генерации кода на месте (нам больше не нужно это делать), а mono.snk - подписать Mono.Cecil и Mono.Security (эти построены здесь для использования с Microsoft .NET).