深刻领悟.NET2.0中强名称方案

深刻领悟.NET2.0中强名称方案

如果您的主程序集使用强名称,则必须使用与主程序集相同的私钥对附属程序集进行签名。如果在主程序集和附属程序集之间公钥/私钥对不匹配,将不加载您的资源。

使用支持创建强名称(如 Visual Studio 2005)的开发环境
    1、 开发环境或工具使用开发人员私钥对包含程序集清单的文件哈希签名。该数字签名存储在包含程序集 A 的清单的可移植可执行 (PE) 文件中。
    2、程序集 B 是程序集 A 的使用者。程序集 B 的清单的引用部分包括代表程序集 A 公钥的标记。标记是完整公钥的一部分,并且这种标记(而不是密钥本身)可用于节省空间。
    3、公共语言运行库在程序集放在全局程序集缓存时验证强名称签名。当运行时强名称进行绑定时,公共语言运行库会将存储在程序集 B 的清单中的密钥与用于为程序集 A 生成强名称的密钥进行比较。如果 .NET Framework 安全检查通过并且绑定成功,则程序集 B 可保证程序集 A 的位未被篡改,而这些位实际来自程序集 A 的开发人员。

    在框架性平台使用强名称签名后,后续的平台插件必须使用相同的key.snk进行强名称签名才能在该平台下使用。这样避免了未经授权的插件使用和修改,一定程度上保护了版权。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值