Windows加密API的功能分类
本地数据加密保护
本地数据加密保护机制提供了简单的DAPI调用接口,密钥管理等等一概由系统来处理。DAPI的数据加密保护机制在用户登录会话范围或者本地计算范围,使用操作系统设计的方式加密保护数据和解密还原数据,用户无需关心密钥的来源和管理,使用DPAPI 可以使应用程序免于处理生成和存储加密密钥的难题。
这一保护的效果与EFS相同,持有加密者安全令牌的进程,都能够访问数据。用户登录后,在用户桌面会话中启动的所有进程,都有可能能够解密,进程之间可以使用保护字区分。对于渗入本地的恶意代码来说,这不会是一个强的保护,恶意代码能够扫描文件获得存储的保护字,也可以通过键盘钩子截获口令派生的保护字。本地计算机范围保护的数据更是能够被所有能够在本机上运行的程序打开。在DAPI边界范围之外,DAPI可以认为是一种强保护机制。Windows采用了精心设计的密钥管理机制保护所加密的数据。
基本加密算法服务
系统中的内置CSP及第三方CSP一般都提供了诸如对称加密、不对称加密、哈希等基本加密算法的实现。应用程序需要根据自身加密安全性设计的约束,通过CryptoAPI函数调用适当的CSP所提供的加密功能,完成应用层面的加密处理。
加密通信服务
SSL(https)安全通信协议是一个基于加密技术的网络安全通信协议。协议规定了对各种加密算法的使用要求,密钥的协商方式,服务端与客户端的身份认证方式等等。SChannel CSP是针对SSL中的加密处理方法和过程定制的CSP。基于SChannel CSP,应用程序能够建立和维护网络安全通信所需的SSL连接。
操作和管理数字证书
计算机上的数字证书会在用户使用中逐渐累积,CryptoAPI提供了存取、查询、验证和删除数字证书的工具函数。CryptoAPI还提供了把证书附着到消息所需的方法。数字证书管理函数分为两个大类,一是管理证书存储容器的函数,二是管理证书本身和证书撤销列表、证书信任列表等具体对象的函数。通过这些函数,Windows系统和用户程序得以操作和管理系统中用到的数字证书。
CSP的CryptSPI规范
按照CryptSPI接口规范实现的加密软硬件模块能够以CSP的形式集成到Windows系统中,应用编程通常不必关心这方面的技术。第三方开发新算法软件模块、智能卡、USBKey、SSL加密加速器之类的加密组件,希望集成到Windows系统中,使其产品能够为Windows系统以及调用系统加密API的应用软件所用时,必须需要按照相关规范,实现CryptoSPI接口,把DLL文件发送给微软签名,在部署时把加密组件注册到目标计算机系统。
Windows加密API的功能分类的更多相关文章
- Windows加密API的层次
Windows平台下的应用程序可以分为托管的.NET程序和本机的Win32(以及Win64)两大类..NET有着类似于JAVA的虚拟机和二进制码托管运行环境,提供了在不同Windows平台上的代码可携 ...
- Kinect开发笔记之二Kinect for Windows 2.0新功能
这是本博客翻译文档的第一篇文章.笔者已经苦逼的竭尽全力的在翻译了.但无奈英语水平也是非常有限.不正确或者不妥当不准确的地方必定会有,还恳请大家留言或者邮件我以批评指正.我会虚心接受. 谢谢大家. ...
- 对TControl和TWinControl相同与不同之处的深刻理解(每一个WinControl就相当于扮演了整个Windows的窗口管理角色,主要是窗口显示和窗口大小)——TWinControl就两个作用(管理子控件的功能和调用句柄API的功能)
TControl是图形控件,它本身没有句柄,所以不能直接使用WINAPI显示,调整位置,发消息等等,只能想办法间接取得想要的效果,但是可以直接使用一些不需要句柄的API,比如InvalidateRec ...
- Windows的API功能查询
在逆向分析时,一些Windows的API函数往往是我们的突破口.但这些函数很难记得一清二楚,以下是我的查找办法,做个小结. 官网 https://docs.microsoft.com/en-us/wi ...
- Windows加密技术概述
Windows加密是安全体系的重要基础和组成部分.现代CPU的保护模式是系统安全的硬件基石,基于CPU硬件的特权分级,Windows让自身的关键系统代码运行在高处理器特权级的内核模式,各种应用程序则运 ...
- Windows录音API学习笔记(转)
源:Windows录音API学习笔记 Windows录音API学习笔记 结构体和函数信息 结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { W ...
- 【转】Windows 7 API Internet Connection Sharing(ICS) 与 Wireless Hosted Network构建本地AP
原文:http://hi.baidu.com/ritrachiao/item/bf7715e6bb8cb3a0c10d75be [此刻我要大大地记录一下!] 这个折腾了我好几天的Windows 7 A ...
- windows内核Api的学习
windows内核api就是ntoskrnl.exe导出的函数.我们能够跟调用应用层的api一样,调用内核api. 只是内核api须要注意的是.假设函数导出了.而且函数文档化(也就是能够直接在msdn ...
- C#中读写配置参数文件(利用Windows的API)
读配置文件与写配置文件的核心代码如下: [DllImport("kernel32")] // 读配置文件方法的6个参数:所在的分区(section).键值. 初始缺省值. ...
随机推荐
- [LeetCode 题解]: UniquePaths
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...
- Transaction And Lock--事务中使用return会回滚事务吗?
事务中使用return会回滚事务吗? 答案:不会,如果在事务中没有显示提交或回滚事务边return,事务不会被提交或回滚,在C#中,如果没有使用连接池,则事务在连接断开和销毁时被强制回滚,如果使用连接 ...
- 【Newtonsoft.Json.dll】操作列表JSON数据
JObject data = JObject.Parse(json); JArray array = JArray.Parse(data["list"] + "" ...
- leetcode 存在重复元素
给定一个整数数组,判断是否存在重复元素. 如果任何值在数组中出现至少两次,函数返回 true.如果数组中每个元素都不相同,则返回 false. 示例 1: 输入: [1,2,3,1] 输出: true ...
- c#进阶之浅析委托和事件
何为委托 加了delegate关键字,没有方法体{}的方法模版(方法列表);委托是一种类型 public void Write() { //TODO } //加上关键字delegate,去掉方法体{} ...
- CentOS下 Yum 损坏与重建
yum报错error: rpmdb open failed 这种情况一般是由于rpm数据库被损坏导致的,可按照下述方法重建yum数据库: cd /var/lib/rpm/ rm -rf __db.* ...
- request.getSession()、reqeust.getSession(false)和request.getSession(true)
getSession()/getSession(true):当session存在时返回该session,否则新建一个session并返回该对象 getSession(false):当session存在 ...
- 浅谈Android选项卡(二)
前面简单介绍了选项卡,下面以及后面的几篇文章介绍下Android选项卡的几种简单实现方法. http://blog.csdn.net/xia215266092/article/details/9613 ...
- hive join的三种优化方式
原网址:https://blog.csdn.net/liyaohhh/article/details/50697519 hive在实际的应用过程中,大部份分情况都会涉及到不同的表格的连接, 例如在进行 ...
- iframe自适应高度,多层嵌套iframe自适应高度的解决方法
在页面无刷新更新方面,虽然现在的ajax很强悍,但是处理代码相对多点.想比之下,iframe就简单多了!处理iframe的自适应宽.高,会经常用到,网上整理了一份,写在这里备用: 单个iframe 高 ...