- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
怎样做-创建DPAPI库
构建安全的 ASP.NET 应用程序身份验证、授权和安全通信
有关构建安全的 ASP.NET 应用程序 的起点和完整概述,请参见 HYPERLINK C:\Documents and Settings\jwzhao\Local Settings\Temp\link to landing page登陆页面。
总结
本“如何做”介绍如何创建一个托管类库,它向要加密数据(例如数据库连接字符串和帐户凭据)的应用程序公开 DPAPI 功能。
如何做:创建 DPAPI 库
Web 应用程序经常需要在应用程序配置文件中存储与安全性相关的数据,如数据库连接字符串和服务帐户凭据。出于安全性考虑,决不要以明文形式存储此类信息,而一定要在存储之前进行加密。
本“如何做”介绍如何创建一个托管类库,它用于封装对数据保护 API (DPAPI) 的调用以加密和解密数据。可随后从其他托管应用程序使用该库,如 ASP.NET Web 应用程序、Web 服务以及企业服务应用程序。
有关使用本文中创建的 DPAPI 库的相关“如何做”文章,请参见本指南“参考”部分中的以下内容:
● “HYPERLINK %3c%3e如何做:在 ASP.NET 中使用 DPAPI(机器存储)”
● “HYPERLINK %3c%3e如何做:在具有企业服务的 ASP.NET 中使用 DPAPI(用户存储)”
备注
● Microsoft? Windows? 2000 和更高版本的操作系统提供了用于加密和解密数据的 Win32? 数据保护 API (DPAPI)。
● DPAPI 是加密 API (Crypto API) 的一部分并且是在 crypt32.dll 中实现的。它包含两个方法:CryptProtectData 和 CryptUnprotectData。
● DPAPI 特别有用,因为它能够消除使用密码的应用程序所带来的密钥管理问题。虽然加密能确保数据安全,但您必须采取额外的步骤来确必威体育官网网址钥的安全。DPAPI 使用与 DPAPI 函数的调用代码关联的用户帐户的密码,以便派生加密密钥。因此,是操作系统(而非应用程序)管理着密钥。
● DPAPI 能够与机器存储或用户存储(需要一个已加载的用户配置文件)配合使用。DPAPI 默认情况下用于用户存储,但您可以通过将 CRYPTPROTECT_LOCAL_MACHINE 标志传递给 DPAPI 函数来指定使用机器存储。
● 这种用户配置文件方式提供了一个额外的安全层,因为它限制了哪些用户能访问机密内容。只有加密该数据的用户才能解密该数据。但是,当通过 ASP.NET Web 应用程序使用 DPAPI 时,使用用户配置文件需要您执行额外的开发工作,因为您需要采取明确的步骤来加载和卸载用户配置文件(ASP.NET 不会自动加载用户配置文件)。
● 机器存储方式更容易开发,因为它不需要用户配置文件管理。但是,除非使用一个附加的熵参数,否则并不安全,因为该计算机的任何用户都可以解密数据。(熵是一个设计用来使解密机密内容更为困难的随机值)。使用附加的熵参数出现的问题在于它必须由应用程序安全地存储起来,这带来了另一个密钥管理问题。
注意:如果您将 DPAPI 和机器存储一起使用,那么加密字符串对于给定的计算机是特定的,因此您必须在每台计算机上生成加密数据。不要在场或群集中跨计算机复制加密数据。
如果将 DPAPI 和用户存储一起使用,则可以用一个漫游的用户配置文件在任何一台计算机上解密数据。
需求
以下各项介绍了推荐的硬件、软件、网络基础结构、技巧和知识以及您需要的服务包:
● Microsoft Windows 2000
● Microsoft Visual Studio? .NET 开发系统
“如何做”中的过程还要求您具备 Microsoft Visual C#? 开发工具的相关知识。
总结
“如何做”包括如下过程:
1. 创建 C# 类库
2. 强名称程序集(可选)
1. 创建 C# 类库
此过程创建一个 C# 类库以公开 Encrypt 和 Decrypt 方法。它封装对 Win32 DPAPI 函数的调用。.
u 创建 C# 类库
1. 启动 Visual Studio .NET,并创建一个名为 DataProtection 的新 Visual C# 类库项目。
2. 使用解决方案资源管理器将 class1.cs 重命名为 DataProtection.cs。
3. 在 DataProtection.cs 中,将 class1 重命名为 DataProtector,并相应地重命名默认的构造函数。
4. 在解决方案资源管理器中,右键单击 DataProtection,然
文档评论(0)