Windows加密API的层次
2015-09-23 20:59
369 查看
Windows平台下的应用程序可以分为托管的.NET程序和本机的Win32(以及Win64)两大类。.NET有着类似于JAVA的虚拟机和二进制码托管运行环境,提供了在不同Windows平台上的代码可携性。由于.NET环境为应用软件开发提供了更便捷的平台和服务,目前多数面向业务的应用软件是.NET托管程序。windows系统为应用层提供的原生API是Win32 API,Win32应用程序能够调用系统的所有功能和服务,本机二进制代码的执行速度也数倍快于JAVA.NET等虚拟机托管代码,系统工具软件和速度敏感的代码一般会是Win32应用程序。
Windows应用程序对加密API的调用关系如下图所示:
.NET Framework类库的System.Security.Cryptography、System.Security.Cryptography.PKCS、System.Security.Cryptography.X509名字空间包含有实现了各种加密功能的类。适用于Win32应用程序的加密编程接口是CryptoAPI和CNG。.NET 加密类的一部分仅是win32加密API的托管包装,另一些则是纯的托管实现。.NET 加密相关的类也适用于Windows Phone APP的开发。
即使是使用.NET类库加密,应用开发者仍然需要了解一些Win32层面的加密技术原理。因为Win32加密API不仅仅是系统的原生API,它还呈现了系统的加密体系和密钥保护管理机制。
openssl是一种与操作系统平台无关的加密库及接口,其支持平台包括了Windows,故Win32应用程序也能使用openssl编程接口加密。这种情况下,软件一般会携带openssl的dll文件。
Windows应用程序对加密API的调用关系如下图所示:
.NET Framework类库的System.Security.Cryptography、System.Security.Cryptography.PKCS、System.Security.Cryptography.X509名字空间包含有实现了各种加密功能的类。适用于Win32应用程序的加密编程接口是CryptoAPI和CNG。.NET 加密类的一部分仅是win32加密API的托管包装,另一些则是纯的托管实现。.NET 加密相关的类也适用于Windows Phone APP的开发。
即使是使用.NET类库加密,应用开发者仍然需要了解一些Win32层面的加密技术原理。因为Win32加密API不仅仅是系统的原生API,它还呈现了系统的加密体系和密钥保护管理机制。
openssl是一种与操作系统平台无关的加密库及接口,其支持平台包括了Windows,故Win32应用程序也能使用openssl编程接口加密。这种情况下,软件一般会携带openssl的dll文件。
相关文章推荐
- 【软件设计师教程】计算机系统知识
- 法学类人猿生存方案--升华成掌握可能的方式
- 在服务器上安装媒体播放器
- 【读书笔记】iOS-属性列表
- 图片会说话系列之Android事件的分发传递机制(非常完美!!!!!)
- html5
- java中获取类的有关信息
- Building System之 get_abs_build_var() && get_build_var()
- iOS开发 ----- AFNetWorking
- C#面向对象资料-转
- 【JSON】JS操作JSON(不断积累中)
- 【读书笔记】iOS-属性列表
- python教程
- layout_activity.xml中要对组件设置颜色
- Codeforces #321(div2)
- [C基础知识]2015-09-23
- noip2009 道路游戏 (单调队列优化动态规划)
- JAVA中的标识符、变量、关键字、变量、常量、运算符、优先级
- StoryBoard下ScrollView如何添加约束
- APUE-第十四章 高级I/O