程序集强签名和安装程序数字签名

Posted karl-f

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序集强签名和安装程序数字签名相关的知识,希望对你有一定的参考价值。

一、程序集强签名

   这个是.net 中的概念,为了保证程序集本身不被篡改,即保证这个程序集是你开发的,同时强命名使不同的程序可以指定不同的程序集版本,不影响其他应用程序。要对程序集进行强签名,无需使用购买的代码签名数字证书,用.NET提供的sn工具就可以生成snk文件,你只要保存好这个文件,就可以保证你的程序集的签名。

 方法1:在SDK中创建强名称签名的程序集(Sn.exe),可以生成密钥对。我们使用如图9-4的命令生成一个新的密钥对并保存到本地文件test.snk中。

 

技术图片

 

 签名时使用编译器执行 CSC 、keyfile:f:test.snk Program.cs

方法2:使用VS项目属性页中的

技术图片

 

二、安装程序数字签名

  在window系统安装程序时,安装的执行程序,系统首先阻止,并提示用户是否要运行,这个时候,同时会提示这个应用程序的发行者。如果一个没有进行数字签名的应用程序,这个时候发行者就为“未知”,签名后,就可以告知用户这个应用程序是由你提供的。数字签名就是保证这个应用程序是由你发行,并未被第三方更改的。

以上是关于程序集强签名和安装程序数字签名的主要内容,如果未能解决你的问题,请参考以下文章

程序集生成失败 -- 引用的程序集“ThoughtWorks.QRCode”没有强名称,为没有源码的程序集强签名

第三章 共享程序集和强命名程序集

没通过数字签名,软件拒绝安装怎么办

如何对Android的APP进行签名

vs2017安装程序清单签名失败

Android数字签名和打包2