关于延迟签名实现的技术

来源:互联网 发布:易语言取网页源码 编辑:程序博客网 时间:2024/05/16 17:17

1.从将执行最终签名的单位获取密钥的公钥部分。通常为.snk文件的形式,使用SDK即可创建

例如: sn -k keyFile.snk

 

2.使用System.Reflection中批准程序集的源代码:

assemblyKeyFileAttribute

将公钥的文件作为参数传递至其构造函数

assembleDelaysignAttribute

通过True作为参数传递至其构造函数

 

3.将编译器的公钥插入程序集的清单。并在PE文件中为完整的强名称保留空间。真正的公钥必须在生成程序集是存储,以便引用此程序及的其他程序集可以获取密钥以存储在它们自己的程序集引用中。

 

4.由于程序集没有有效的强名称的签名,所以必须关闭该签名的验证。

例如:关闭程序集的验证

sn -vr  XXXX.dll

 

5.最后,在即将交付前,将程序集提前交给组织签名的机构。以便于强名称工具一起使用来实际进行强名称签名

例如:

sn - p XXXX.dll XXX.snk

 

 

 

原创粉丝点击