Dev*_*Das 20 .net c# delay-sign
我在很多文章中都看到过,延迟签名和程序集的强名称可以防止它出现问题.
那是什么意思?
我知道唯一没有强名称的是你无法在GAC中安装程序集.所以假设我有一个没有强名的集会,它可以被高压吗?
有人请澄清我的疑问.
Mic*_*eld 40
总结一下基本思路:
强命名是一种使用简单的标识标记标记程序集的方法,稍后可以使用它来验证自部署之后它尚未被修改.强名称基本上是程序集名称,版本和开发人员独有的"强名称密钥"的哈希.对强名称程序集的引用会经过更严格的验证,引用非强名称的程序集; 特别是,强名称引用必须与版本号匹配,强名称哈希必须匹配.
这有助于避免程序中两个常见的潜在安全漏洞:
强名称进程将拒绝这两个操作,因为强名称数据将不匹配.这就是为什么GAC中的程序集必须具有强大的名称:它们无处不在地使用,否则它们将成为这种劫持的主要目标.
但请注意,强名称绝对不能验证发布者的身份.任何人都可以发布一个声称是微软的名字很强的集合,并且强名称中没有任何东西可以反驳这个断言.验证身份验证是Authenticode数字签名的工作,与强命名不同.这两者经常一起使用,但它们是正交概念.
延迟签名是一种在构建过程之外对程序集进行签名的技术.这里的想法是,您的公司可能有不允许强名称密钥在构建时可用的策略(可能它们保持脱机状态,或者在密码后面保护.)延迟签名程序集标记为空白强 - name key:它基本上为授权用户保留以后添加密钥的空间.同时,还包括部分强名称密钥 - 只有足够的信息可供其他程序集进行强引用,但不足以检测更改或修改.
| 归档时间: |
|
| 查看次数: |
12391 次 |
| 最近记录: |