C# 给主程序签名及第三方dll强签名操作
1、给主程序添加签名
![](https://images2015.cnblogs.com/blog/506829/201704/506829-20170414145705361-964957391.png)
添加完成后会自动生成一个*.pfx文件。
![](https://images2015.cnblogs.com/blog/506829/201704/506829-20170414145722189-1665297541.png)
2、给第三方程序添加强签名方法:
本文以WAPIWrapperCSharp.dll为例,使用vs Tools下的工具命令。
![](https://images2015.cnblogs.com/blog/506829/201704/506829-20170414144953283-931372157.png)
打开命令工具是这个样子,![]()
![](https://images2015.cnblogs.com/blog/506829/201704/506829-20170414145740595-1273251159.png)
第一步:生成随机密钥对,
1C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>sn -k WAPIWrapperCSharp.snk
第二步:将DLL文件反编译成IL中间语言文件
生成的结果文件为WAPIWrapperCSharp.il,WAPIWrapperCSharp.res
1 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>ildasm C:/WAPIWrapperCSharp.dll /out:C:/WAPIWrapperCSharp.il
第三步:将签名密钥写入到DLL中。(注意dll文件名是否重名,可以先写一个不冲突名称合成dll,然后再修改)
1 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>ilasm C:\WAPIWrapperCSharp.il /res:C:\WAPIWrapperCSharp.res /dll /key:WAPIWrapperCSharp.snk /out:C:\WAPIWrapperCSharp1.dll
第四步:检查刚才签名是否正确有效。
1 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>sn -vf C:/WAPIWrapperCSharp1.dll特别注意:在签名DLL的时候路径一定不要太长,否则任何一步操作都会失败。最好在磁盘根目录下创建一个文件夹,将需要签名的DLL放到这里进行签名合成。最终效果图
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步