- 弱命名程序集只能进行私有部署,不能进行全局部署,强名命程序集两者都可.
- 一个强名命程序集包含四个唯一标识程序集的特性:文件名(没有扩展名),版本号,语言文化标识,共有密钥标记(由共有密钥产生的一个值)
- 首先创建一个公钥/私钥对,然后将公有密钥和程序集相互关联.通过System.Reflection.AssemblyName类,可以很容易创建一个程序集名称,并获取一个程序集名称的各个部分.
- 使用SN.exe产生密钥 SN -k MyCompany.keys . MyCompany.keys文件将包含一对以二进制格式存储的公有密钥和私有密钥.
- 查看公钥方法: SN -p Mycompany.keys Mycompany.Publickey SN -tp Mycompany.Publickey
- 共有密钥标记是一个64位的共有密钥散列值
- [assembly:AssemblyKeyFile("MyCompany.keys")],当编译器在源代码中遇到此特性时,编译器将打开指定的文件(MyCompany.keys),用私有密钥对程序及进行签名,并将共有密钥嵌入到清单中.注意只能对包含清单的那个程序集文件进行签名,程序集的其它文件不能被显式的签名
- 向GAC(Global assembly Cache)中安装一个强命名程序集最常用的工具为GACUtil.exe,只能是强名命的程序集才能被放人GAC中
- 延迟签名允许我们只是使用公司的公有密钥就可以生成程序集合,不再需要私有密钥.他们将失去篡改保护功能,因为程序集文件没有经过散列转换.也没有在文件中嵌入数字签名.
posted @
2007-02-12 17:44
smart-liu
阅读(
221)
评论()
编辑
收藏
举报