强签名程序集

强签名程序集

ID:42475885

大小:52.00 KB

页数:9页

时间:2019-09-15

强签名程序集_第1页
强签名程序集_第2页
强签名程序集_第3页
强签名程序集_第4页
强签名程序集_第5页
资源描述:

《强签名程序集》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、通过嵌入公钥并使用私钥签名,可以生成强名称(strongname)的程序集。强名称程序集由4部分进行标识:名称、版本、区域性和公钥.与之相对的,我们可以把没有嵌入公钥和使用私钥签名的程序集称之为弱名称(weakname)程序集(这个术语是JfferyRichter创造的)。强名称程序集与弱名称程序集相比,有以下特点:*强名称程序集可以保证唯一性。公/私密钥对是rh发行者自行生成的,是唯一的,保证了程序集的标识不会重复。*强名称程序集对以防篡改。强类型程序集使用私钥对自C进行了签名,这样在被加载时可以检查程序集是否被修改。*强名称程序集可以实施版本策略。对

2、于弱名称程序集,引用它的程序不会关心它的版本,而对于强类型的程序集來说,引用它的程序会被绑定到特定版本的程序集上,如果使用新版本的强名称程序集替换IH版本,会导致程序无法运行。(当然还可以使用配置文件对强名称程序集进行重定向)。*强名称程序集可以部署到GAC中。GAC指全局程序集缓存,这是一个公共冃录,放在此处的程序集可以被本机任意一个程序所引用。弱名称程序集无法部署到此处。不同版本的相同程序集还可以同时存在于GAC中。*强名称程序集只能引用强名称程序集。弱名称程序集诃以引用强名称程序集,也对以引用弱名称程序集,但强名称程序集只能引用强名称程序集。*强名

3、称程序集支持并行执行。并行(side-by-side)执行是指程序同时引用了多个版本的同名程序集,这样在运行时,会有多个版本的同名程序集被加载和同时执行。通常不建议使用。下面来研究一下如何生成强名称的程序集。首先,使用SN.exe创建一个密钥文件:sn.exe・kMyKey.snk生成的文件包含了公钥和私钥的内容。我们可以查看公钥的内容,私钥是不允许查看的,所以要先将公钥提取出来。仍然是使用SN.exe:sn-pMyKey.snkMyPublicKey.snksn-tpMyPublicKey.snk前一个命令将密钥文件中的公钥提取出来,放到MyPubli

4、cKey.snk文件中;后一个命令用于显示该文件中的公钥和公钥标记(Publickeytoken),显示的内容可能如下(每个人生成的都不同):Microsoft(R).NETFrameworkStrongNameUtilityVersion3.5.21022.8Copyright(c)MicrosoftCorporation.Allrightsreserved・Publickeyis0024000004800000940000000602000000240000525341310004000001000100757c8b7854ffcb476325074

5、6c094e45db0c715214415fb01bd178f3374224c1292dbbc9dddfb6af7de17668884641a39fbea9d0bee001c093b228400aa39c0db5724fc11c221bd2c7442a30ef26c076b1bbOf559ce7955572b4174125494a593c199d968019323483e72d5bdb93d96af14ccfeb0c5d4af6ea191d226e6812db5Publickeytokenis337642649f453c2c公钥标记是公钥的64位散列值,

6、用于简化对公钥的引用。第二步是创建强名称程序集。我们町以在源文件中使用AssemblyKeyFileAttribute,但在编译时会产生警告,建议使用命令行选项来代替此特性。所以此处使用csc.exe:esc/t:library/keyfile:MyKey.snkMyType.cs运行后得到MyType.dll,我们可以显示其中包含的公钥标记,看是否和上面的相同:sn-TpMyType.dll显示内容如下:Microsoft(R).NETFrameworkStrongNameUtilityVersion3.5.21022.8Copyright(c)Mic

7、rosoftCorporation.Allrightsreserved・Publickeyis0024000004800000940000000602000000240000525341310004000001000100757c8b7854ffcb4763250746c094e45db0c715214415fb01bd178f3374224c1292dbbc9dddfb6af7de17668884641a39fbea9d0bee001c093b228400aa39c0db5724fc11c221bd2c7442a30ef26c076b1bbOf559c

8、e7955572b4174125494a593c199d968019323483

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。