給主程序簽名及第三方dll強簽名


給主程序添加簽名
 
添加完成后會自動生成一個*.pfx文件。
 
 
給程序添加強簽名方法:
 
本文以Quartz.dll為例,使用vs Tools下的工具命令。
 
打開命令工具是這個樣子,
 
 
第一步:生成隨機密鑰對,
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>sn -k  QuartzSnk.snk
 
第二步:將DLL文件反編譯成IL中間語言文件
生成的結果文件為Quartz.il,Quartz.res,Quartz.quartz.config,Quartz.Impl.AdoJobStore.Common.dbproviders.properties,Quartz.Xml.job_scheduling_data_2_0.xsd
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC> ildasm E:\DllSnk\Quartz.dll /out:E:\DllSnk\Quartz.il
 

第三步:將簽名密鑰寫入到DLL中。(注意dll文件名是否重名,可以先寫一個不沖突名稱合成dll,然后再修改)

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC> ilasm E:\DllSnk\Quartz.il /res:E:\DllSnk\Quartz.res /dll /key:QuartzSnk.snk /out:E:\DllSnk\Quartz2.dll
 
第四步:檢查剛才簽名是否正確有效。
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC> sn -vf  E:\DllSnk/Quartz2.dll
 
特別注意:在簽名DLL的時候路徑一定不要太長,否則任何一步操作都會失敗。最好在磁盤根目錄下創建一個文件夾,將需要簽名的DLL放到這里進行簽名合成。
如我寫成這樣,提示我“指定了多個輸入文件”ildasm D:\Documents\Visual Studio 2013\Source\Bitbucket_Git\AutoUpdate\AutoUpdater\DLL\Quartz.dll /out:E:\DllSnk\Quartz.il


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM