Обычно я не хочу подписывать свои сборки .NET, поэтому я не знаю много за его основной механикой. Для небольшого проекта, над которым я работаю, нужно было подписать, и я создал новый ключ, защищенный паролем.
Я ожидал, что вам будет предложено ввести этот пароль в некоторый момент времени при перекомпиляции сборки, но мне никогда не понадобилось вводить его нигде после создания файла ключа. Это, похоже, лишает цель защиты паролем ключа в первую очередь.
Я предполагаю, что пароль кэшируется где-то, но где? Это в каком-то частном хранилище? Если я дам кому-то еще свой весь каталог решений с ключевым файлом в нем, будут ли они запрашиваться введенный пароль или они смогут подписывать сборку без пароля?
В Интернете есть много статей о сильных ключах имени и их использовании, но по какой-то нечетной причине они все затушевывают, как пароль фактически используется Visual Studio.
Update: Перезапуск Visual Studio (и Windows) не имеет никакого эффекта, поэтому кэширование кажется постоянным. Удаление файла .suo не изменяет того факта, что для подписи сборки не требуется пароль.