- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何做︰创建DPAPI库
构建安全的 ASP.NET 应用程序身份验证、授权和安全通信
有关构建安全的 ASP.NET 应用程序 的起点和完整概述,请参见登陆页面。
总结
本“如何做”介绍如何创建一个托管类库,它向要加密数据(例如数据库连接字符串和帐户凭据)的应用程序公开 DPAPI 功能。
如何做:创建 DPAPI 库
Web 应用程序经常需要在应用程序配置文件中存储与安全性相关的数据,如数据库连接字符串和服务帐户凭据。出于安全性考虑,决不要以明文形式存储此类信息,而一定要在存储之前进行加密。
本“如何做”介绍如何创建一个托管类库,它用于封装对数据保护 API (DPAPI) 的调用以加密和解密数据。可随后从其他托管应用程序使用该库,如 ASP.NET Web 应用程序、Web 服务以及企业服务应用程序。
有关使用本文中创建的 DPAPI 库的相关“如何做”文章,请参见本指南“参考”部分中的以下内容:
● “如何做:在 ASP.NET 中使用 DPAPI(机器存储)”
● “如何做:在具有企业服务的 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,然后单击“属性”。
5. 单击“配置属性”文件夹,并将“允许不安全代码块”设置为“真”。
6. 单击“确定”,关闭“属性”对话框。
7. 将下面的 using 语句添加到 DataProtection.cs 顶部现有 using 语句的下面。
u
您可能关注的文档
- 奔驰车系音响解码方法全集.doc
- 奔驰汽车标志图片含义与奔驰标志的历史由来.doc
- 药店OTC文化建设之1.doc
- 奖助学金评优注意事项.doc
- 药浴文化〔中国中医网〕.doc
- 药渣_废料手推轨道车设计.docx
- 奖励性绩效工资发放文案.doc
- 奘灵水苏糖助力《公众营养改善欧力多项目》.doc
- 药物A不同浓度对种子发芽影响.docx
- 药店集中采购联合体药品采购招标文案.doc
- 2025年徐州生物工程职业技术学院单招笔试综合素质试题库含答案解析(5套共100道单选合辑).docx
- 2025年煤炭矿山职业技能鉴定考试-重介质分选工考试历年参考题库含答案解析(5套100道单选题合辑).docx
- 2025年综合类-轮机工程-工业用钢、合金钢、铸铁历年真题摘选带答案(5卷单选题100道).docx
- 数字化背景下小学教师数字技术采纳行为研究.docx
- 2025年综合类-骨外科(医学高级)-广西住院医师规范化培训(中医全科)-中医病种历年真题摘选带答案.docx
- 2025年综合类-重症医学(医学高级)-重症医学综合练习历年真题摘选带答案(5套合计100道单选).docx
- 2025年综合类-保险公估人考试-保险的基本原则历年真题摘选带答案(5卷100道合辑-单选题).docx
- 水下振动台竖向运动兴波效应数值模拟与分析.docx
- 2025年监理工程师-建设工程监理基本理论和相关法规(官方)-第一章建设工程监理制度历年参考试题库答.docx
- 2025年住院医师规范培训(各省)-北京住院医师康复医学历年参考题库含答案解析(5套共100道单选合.docx
最近下载
- 矽力杰产品规格书SY5055.pdf VIP
- 道闸项目报价清单.xlsx VIP
- 贵州省预防接种技能竞赛理论考试题库资料(含答案).pdf VIP
- AASHTO-LRFD-SI-2007(4)桥梁手册第四章中文版.doc VIP
- AASHTO LRFD Bridge Design Specifications(AASHTO LRFD桥梁设计规范).docx VIP
- 迅达常用备件识别号查询手册_Ae5.pdf VIP
- 数学学科业务工作报告.pdf VIP
- 2023年春学期人教版初中物理九年级下册教学进度表.docx VIP
- 基于AASHTO沥青混凝土路面设计方法的应用与研究.doc VIP
- 小班科学方方和圆圆教案反思.docx VIP
文档评论(0)