我通常不会打扰我的.NET程序集签名,所以除了它的基本机制外,我不太了解它。对于我正在开发的一个小项目,有必要签名,并且我创建了一个新的密钥,并使用密码进行保护。存储强名密钥的密码在哪里?
我希望在重新编译程序集的某个时间点提示输入此密码,但是在创建密钥文件后,我从不需要在任何位置输入密码。这似乎首先破坏了密码保护密钥的目的。
我想象的密码缓存在某处,但在哪里?它在某种私人存储空间中吗?如果我将其整个解决方案目录与其中的密钥文件交给其他人,他们会被提示输入我输入的密码,还是可以在没有密码的情况下签署程序集?
在互联网上有很多关于强名称键和使用它们的文章,但是由于某些奇怪的原因,他们都忽略了Visual Studio实际使用密码的方式。
更新: 重新启动Visual Studio(和Windows)没有效果,因此缓存看起来是持久的。删除.suo文件不会改变签署程序集时不需要密码的事实。
你是如何保护文件密码的? – 2010-11-14 13:09:35
@Lasse:当您创建密钥时,Visual Studio可以选择密码保护密钥。我已经通过打开.pfx文件验证了它是受保护的。 – Thorarin 2010-11-14 13:37:23
谢谢,我不知道。 – 2010-11-14 14:05:58