一、程序集强签名
这个是.net 中的概念,为了保证程序集本身不被篡改,即保证这个程序集是你开发的,同时强命名使不同的程序可以指定不同的程序集版本,不影响其他应用程序。要对程序集进行强签名,无需使用购买的代码签名数字证书,用.NET提供的sn工具就可以生成snk文件,你只要保存好这个文件,就可以保证你的程序集的签名。
方法1:在SDK中创建强名称签名的程序集(Sn.exe),可以生成密钥对。我们使用如图9-4的命令生成一个新的密钥对并保存到本地文件test.snk中。
签名时使用编译器执行 CSC 、keyfile:f:test.snk Program.cs
方法2:使用VS项目属性页中的
二、安装程序数字签名
在window系统安装程序时,安装的执行程序,系统首先阻止,并提示用户是否要运行,这个时候,同时会提示这个应用程序的发行者。如果一个没有进行数字签名的应用程序,这个时候发行者就为“未知”,签名后,就可以告知用户这个应用程序是由你提供的。数字签名就是保证这个应用程序是由你发行,并未被第三方更改的。