技术开发 频道

加密应用程序块简介



【IT168 技术文档】

加密应用程序块简介
    Microsoft Enterprise Library Cryptography Application Block 1.0 版简化了开发人员在其应用程序中集成加密功能的方式。应用程序可以使用应用程序块来执行各种任务,例如加密信息、从数据创建哈希,以及比较哈希值来检验数据是否被更改。

加密应用程序块具有以下功能:
•它可以减少编写样本代码来执行标准任务的需要,从而提供了可用于解决常见应用程序加密问题的实现。
•它有助于维护应用程序和整个企业中一致的加密做法。
•利用涵盖提供的各种功能区域且一致的体系结构模型,从而使开发人员在学习过程中少走一些弯路。
•它提供了可用于解决常见应用程序加密问题的实现。
•它是可扩展的,并支持加密提供程序的其他实现。
常见情况
开发人员经常编写一些需要加密和哈希功能的应用程序,以满足其组织的安全性要求。通常需要加密由应用程序创建和维护的数据以及配置信息。另外,还需要对用于访问应用程序功能或数据的密码进行哈希运算。
加密应用程序块通过将应用程序代码从特定的加密提供程序中抽象出来,从而简化了开发人员的工作。您可以通过更改配置来更改基础提供程序,而无需更改基础应用程序代码。它还可以封装与加密有关的常见难题(例如,加密和保留加密密钥)的非常好的做法实现。
读者要求
本指南专为软件架构师和软件开发人员而编写。要充分利用该指南,您应该了解以下技术:
•Microsoft Visual C# 开发工具或 Microsoft Visual Basic 开发系统
•.NET Framework(包括 .NET Framework 加密概念)
1.0 版的主要特点
Enterprise Library Cryptography Application Block 1.0 版包含以下新功能:
•用于管理配置设置的图形工具
•哈希提供程序的两个实现
•简化最常见加密任务的几个方法
系统要求
加密应用程序块的要求如下所示:
•Microsoft Windows 2000、Windows XP Professional 或 Windows Server 2003 操作系统
•Microsoft .NET Framework 1.1 版
•Microsoft Visual Studio .NET 2003
加密应用程序块依赖项
企业程序库提供的应用程序块被设计为能够彼此配合使用。有时,应用程序块依赖于其他应用程序块和企业程序库中包含的代码。加密应用程序块具有以下依赖项:
配置应用程序块 (Configuration Application Block)加密应用程序块使用配置应用程序块来读取其配置信息,并确保用于加密的密钥是自己加密的。
通用程序库功能,例如规范。它提供各种功能来公开用于系统管理的事件和数据。它还提供有助于您正确使用 DPAPI 的类。
此外,应用程序块还使用 XML 文件来存储配置信息。修改该信息的推荐方法是使用企业程序库配置控制台 (Enterprise Library Configuration Console)。

加密应用程序块的设计
加密应用程序块旨在实现以下目标:
•为通常需要的功能提供简单而直观的界面
•封装用于执行最常见应用程序加密任务的逻辑
•为常见加密任务提供标准且一致的模型
•确保应用程序块是可扩展的
•确保性能影响最小或可忽略不计(与人工编写的用于实现同一功能的加密代码相比)
图 1 展示了加密应用程序块的设计。



图 1. 加密应用程序块的设计
加密应用程序块设计为具体化有关如何从运行的应用程序处理加密的所有决策。这种设计使您可以在不更改应用程序代码的情况下更改加密行为。

测试驱动
开发加密应用程序块的目的是,分析常见的企业开发难题以及提供针对这些难题的成功解决方案。然而,因为每个应用程序都是唯一的,所以您会发现该应用程序块并不适合每个应用程序。为了评估该应用程序块并确定它对您项目的适用性,Microsoft 建议您至少用半天的时间来研究该应用程序块。推荐的评估方法如下:
1.下载企业程序库。
2.安装企业程序库,并编译所有的应用程序块和工具。
3.阅读文档的“Introduction”和“Scenarios and Goals”部分。
4.编译并运行快速入门示例,然后通读文档中相关“QuickStart Walkthroughs”和“Key Scenarios”部分。
5.如果应用程序块看起来很适合您的应用程序,则尝试使用该应用程序块在您的应用程序或丢弃原型 (throw-away prototype) 应用程序中实现一个简单的用例。
0
相关文章