第一部分 Microsoft.NET框架基本原理2----读《Microsoft.NET框架程序设计》
2007-07-02 11:01
295 查看
既然已经知道了怎样创建一个公钥/私钥对,创建强命名程序集就变得很容易了.只需把System.Reflection.AssemblyKeyFileAttribute特性的一个实例应用到我们的源代码中就可以了:
[assembly:AssemblyKeyFile("MyCompany.keys")]
当编译器在源代码中遇到该特性时,编译器将打开其中的指定的文件(MyCompany.keys),用私有密钥对程序集进行签名,并将公有密钥嵌入到清单中。注意只能对包含清单的那个程序集文件进行签名,程序集的其他文件不能被显式地签名.
下面是对程序集文件签名过程的一个详细解释:当生成一个强命名程序集时,该程序集的FileDef清单元数据表将包含组成该程序集的所有文件的一个列表。当每个文件的名称被加入到清单中时,该文件的内容也被转换成一个散列值,该散列值将和文件名一起存入FileDef表中。
我们可以用AL.exe的/algid命令行开关,或者应用于程序集上的System.Reflection.AssemblyAlgorithmIdAttribute定制特性来改变默认的散列算法.默认的算法为SHA-1算法.
[assembly:AssemblyKeyFile("MyCompany.keys")]
当编译器在源代码中遇到该特性时,编译器将打开其中的指定的文件(MyCompany.keys),用私有密钥对程序集进行签名,并将公有密钥嵌入到清单中。注意只能对包含清单的那个程序集文件进行签名,程序集的其他文件不能被显式地签名.
下面是对程序集文件签名过程的一个详细解释:当生成一个强命名程序集时,该程序集的FileDef清单元数据表将包含组成该程序集的所有文件的一个列表。当每个文件的名称被加入到清单中时,该文件的内容也被转换成一个散列值,该散列值将和文件名一起存入FileDef表中。
我们可以用AL.exe的/algid命令行开关,或者应用于程序集上的System.Reflection.AssemblyAlgorithmIdAttribute定制特性来改变默认的散列算法.默认的算法为SHA-1算法.
相关文章推荐
- 第一部分 Microsoft.NET框架基本原理6----读《Microsoft.NET框架程序设计》
- 第一部分 Microsoft.NET框架基本原理4----读《Microsoft.NET框架程序设计》
- 第一部分 Microsoft.NET框架基本原理5----读《Microsoft.NET框架程序设计》
- 第一部分 Microsoft.NET框架基本原理----读《Microsoft.NET框架程序设计》
- 第一部分 Microsoft.NET框架基本原理3----读《Microsoft.NET框架程序设计》
- Microsoft .NET Framework 2.0 Application Development Foundation 翻译系列2(第一章:框架基本原理)
- Microsoft .NET 框架 FAQ
- ASP.NET MVC框架(第一部分) 【转】
- Microsoft .NET Romoting 框架简介(摘自MSDN)
- NHibernate的基本使用、快速入门 - Microsoft.NET开发框架应用资源(zhuan)
- Microsoft.NET框架概念、原理
- Microsoft .NET 框架和 Visual Studio.NET 中的 SOAP
- Microsoft .NET 框架和 Visual Studio.NET 中的 SOAP
- Microsoft.NET.框架程序设计 值类型与引用类型
- ASP.NET MVC框架(第一部分) 【转】
- Microsoft .Net 框架 SDK 快速入门教程
- ASP.NET MVC框架(第一部分)(http://blog.joycode.com/scottgu/archive/2007/11/14/111385.aspx)
- ASP.NET MVC框架(第一部分)(zhuan)
- [转载]学习笔记《.NET框架程序设计(修订版)》--第一章 Microsoft .NET框架开发平台体系架构(2)
- Microsoft .NET 框架资源基础