我已经在许多地方读过这个说法并让人们直接告诉我这一点,但是我无法找到关于强名不能用于安全的完整原因列表的确凿答案。
我理解强名称功能的意图是识别而不是安全,但我正在寻找使用强命名来确保安全问题的解释。
我想知道:
我不想要的东西:
答案 0 :(得分:2)
人们告诉你不要使用强命名进行安全性(我认为你的意思是完整性检查)的原因是它不再有效。
从.NET 3.5 SP1开始,.NET程序集加载程序不再验证强名称程序集的完整性。如果要防止在磁盘上修改程序集,则必须使用Authenticode。
这些链接描述了变更,异常及其背后的原因(启动速度):