什么时候应该使用密码保护强名称密钥文件?

Svi*_*ish 17 assembly-signing visual-studio

在visual studio项目设置中,您可以选择强名称密钥文件来签署程序集.创建新的时,您可以选择使用密码保护它.你应该什么时候这样做?什么时候不应该?

我认为,如果项目是在Codeplex或类似地方托管的开源项目,用密码保护它可能不是那么聪明.还是应该保护它?如果密钥文件受到保护,人们是否无法下载源代码并进行编译?或者,这是如何工作的?

On *_*und 12

一般情况下,如果您不信任有权访问的人,则应使用密码进行保护.任何有权访问密钥文件的人都可以创建一个具有强名称的程序集(与authenticode不同,它们不会模仿你,但是他们可以加载程序集而不是你的程序集)

至于你描述的开源场景,人们总是可以编译代码 - 他们只是创建一个新的密钥文件,但是他们创建的程序集不会被试图加载程序集的程序集加载.

  • 哦.所以,如果我有两个使用强名称密钥签名的程序集.如果我然后将一个引用添加到另一个,它只能与使用右键签名的引用一起使用? (2认同)
  • 如果你引用一个强名称程序集,它在运行时不能用一个用不同键签名的程序集替换(不完全正确,但让我们暂时保留更高级的东西) (2认同)