Скажите, что у меня есть несколько сборок .NET и вы хотите подписать каждое из них с сильным именем. Достаточно ли одной пары ключей (один файл .snk) или мне нужно создать одну пару для каждой сборки? Должен ли я публиковать открытый ключ (каждой) ключевой пары?Сколько файлов .snk мне нужно?
ответ
Вам нужен только один файл .snk.
Публикация открытого ключа не требуется. Любой может получить открытый ключ, используя sn.exe с ключом -p.
Один ключевой файл достаточно, чтобы подписать несколько связанных сборок. Взгляните на свой ПКК. Ассембли с одного и того же продукта или платформы часто имеют один и тот же ключ. Например, многие из сборщиков .NET .NET Framework используют один и тот же ключ.
Достаточно ли одного ключевого слова для всей компании ? – sharptooth
У нас есть (3) .snk файлы.
Один из них, который мы используем для подписи наших сборок, который был отправлен для генерации кода на месте (нам больше не нужно это делать), а mono.snk - подписать Mono.Cecil и Mono.Security (эти построены здесь для использования с Microsoft .NET).
Но как он будет гарантировать, что это я опубликовал сборку? – sharptooth
Тот факт, что он подписан с вашим ключом - тот же самый ключ, на который ссылается сборка, - аутентифицирует его на загрузчике сборок. –
Это только доказывает, что подписан с тем же ключом, что и тот, который поставляется вместе с сборкой. Но как определить, кто сгенерировал этот ключ? – sharptooth