程序集强命名全解析

2303191 发表于Sunday, February 10, 2008 8:44:36 PM  IP:举报删除
可以防止程序集被篡改。(这点还不是很明朗要继续加油,有明白的告诉我一下)

不能防止修改程序集,但是clr能通过公钥验证签名就知道程序集是否被修改了bhtfg538 发表于Monday, September 15, 2008 5:23:02 PM  IP:举报删除
楼主理解错了
首先 sn -k privateKey.snk
不是生成 私钥 是生成一个 公钥/私钥 对
然后可以通过 sn -p privateKey.snk publicKey.snk 获取一个 公钥用来 延迟签名(延迟签名就是使用公钥)


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/armysone/archive/2008/01/17/2049891.aspx

 

程序集进行强命名有以下好处:

  1. 强命名后程序集可以被多个引用者共享。这个大家应该很清楚。
  2. CLR可以通过公钥验证签名了解该程序集是否被修改过。(谢谢2303191的回复)
  3. 3是。。。我不知道了,有谁知道了帮我加下。:)

强命名过程:

  1. 获取公钥/私钥对 sn -k privateKey.snk(谢谢bhtfg538的指正),一定要小心保管,丢了一切安全性都不存在了,其它人可以通过它发布由你签名的程序集。
  2. 获取公钥 sn -p privateKey.snk publicKey.snk,在延迟签名时派上用场。
  3. 生成强名程序集 

      1) csc /keyfile:privateKey.snk /t:dll ClassLibrary1.cs

      2) 在AssemblyInfo.cs中添加 [assembly: AssemblyKeyFileAttribute("privateKey.snk")]

延迟签名过程:

  1. 进行延迟签名,为了保证私钥的安全,在开发时只使用公钥进行延迟签名

      1) csc /keyfile:publicKey.snk /delaysign+ /t:dll ClassLibrary1.cs

      2) 在AssemblyInfo.cs中添加 [assembly: AssemblyKeyFileAttribute("publicKey.snk")]

  2. 要发布时对该程序集重新进行强命名 sn -R ClassLibrary.dll privateKey.snk。

  以上的命令行可以针对自己的需要修改,另外为保证私钥的安全,微软提供了一个保管私钥的容器,此时命令参数有变化,相关信息自行查找。

1、无需设置 由于它是一个便携式工具,它不需要您将其安装在目标计算机上,因为只需拆包其存档并启动可执行文件即可完访问其功能。 您还可以从可移动存储介质(如USB闪存驱动器或外部HDD)运行它。此外,它不会修改系统中的注册表项,也不会在您的PC上生成其他文件或文件夹,但未经您的明确许可。 2、综合界面 dnSpy配备了一个时尚,面的用户界面,包含广泛的有用功能,它们整齐地组织在主窗口的标准菜单中。 更重要的是,它具有标准配置窗口,您可以在其中调整各种组件的设置,如其反编译器,调试器或十六进制编辑器,但也可以修改显示或其他参数。 3、.NET反汇编程序 如果您需要一个高效的工具,可以通过为您提供各种有用的工具来帮助您反编译.NET程序集,您可以转到dnSpy。它配有一个反编译器,一个调试器,一个十六进制编辑器和一个程序集编辑器,让你以有效的方式处理程序集。 主窗口附带了一个Assembly Explorer窗格,您可以在其中访问所需程序集的树视图。您可以通过从计算机指定适当的文件或使用“从GAC打开”选项打开程序集,该选项为您提供程序集缓存中可用的条目列表。 4、.NET程序集的可靠反向工程工具 所有考虑的事情,dnSpy是一个方便的应用程序,使您能够以有效的方式逆向工程.NET程序集,为您提供广泛的有用工具,包括反编译器,程序集编辑器和调试器。它不需要安装,具有面,平滑的用户界面,并为您提供了一个标准配置窗口,您可以在其中调整各种组件的设置。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值