日期:2014-05-20  浏览次数:20553 次

什么是.NET 程序集强签名
RT

------解决方案--------------------
网上有很多介绍的,以下是一段:
用强名称来给程序集签名即谓之程序集强签名!
那什么是强名称,签名又有什么作用?,我们先看看强名称的概念是什么,强名称是由程序集的标识加上公钥和数字签名组成的,其中程序集的标识包括简单文本名称,版本号和区域性信息!
Visual Studio.NET 和 .NET Framework SDK 中有工具能够将强名称分配给一个程序集!强名称相同的程序集一般也是相同的!
好了,具体我们可以通过给程序集强签名达到什么目的呢?
通过签发具有强签名的程序集合,可以确保名称的全局唯一性!因为强名称是依赖于唯一的密钥对来确保名称的唯一性,其他人不会生成与你相同的程序集名称(不同的私钥产生的名称不同)
强名称保护程序集的版本沿袭,因为强名称的唯一性能够确保没有其他人能够生成你的程序集的后续版本
强名称提供可靠的完整性检查,通过.NET Framework安全检查后,可以确保程序集内容在生成后未被更改过!
要注意的是,具有强名称的程序集引用其他程序集,如果这个程序集没有强名称,那么具有强名称的程序集所带来的好处,并依旧会产生DLL冲突!因此具有强名称的程序集只能引用其他具有强名称的程序集。