相关疑难解决方法(0)

是否可以使用强大的命名程序集来验证程序集作者?

我一直在阅读MSDN,强名称程序集和相关的Stack Overflow问题中的正确文章,检查程序集的强名称.

  1. 在何种程度上可以验证强名称的装配以避免篡改?
  2. 是否可以使用强命名来验证程序集作者?

第一个问题出现在阅读CSharp411文章.NET程序集常见问题 - 第3部分 - 强名称和签名之后,其中提到了这一点,以及使用强名称的其他问题:

" 无法完全替换.强名称不能阻止黑客删除强名称签名,恶意修改程序集,用自己的密钥重新签名,然后将你的程序集作为你的程序. "

第二个问题旨在找出强命名和其他签名方案之间的差异,例如Authenticode.同样的MSDN文章提到了早期的状态:

"但请注意,强名称本身并不意味着一定程度的信任,例如通过数字签名和支持证书提供的信任. "

我是否尝试使用强命名,而不是创建它?创建强命名是为了避免名字冲突还是一种新的"GAC DLL Hell"?

.net security strongname assemblies

20
推荐指数
2
解决办法
6819
查看次数

我是否需要从.snk文件发布公钥?

从sn.exe实用程序和这个问题的描述中,我看到公共密钥的副本被添加到使用强名称签名的每个程序集中.这足以验证程序集二进制文件是否未被更改.

但是,如何验证给定的程序集是否真的使用某个给定的密钥对签署并由给定的公司编译?任何人都可以生成他自己的密钥对,生成一些程序集并用他的密钥对签名.我是否需要发布公钥,以便那些想要验证程序集来源的人可以比较公钥?如果是这样,最好的方法是什么?

.net strongname assemblies

5
推荐指数
1
解决办法
2587
查看次数

标签 统计

.net ×2

assemblies ×2

strongname ×2

security ×1