微软CAPICOM控件介绍(二)
2013-09-04 17:46
106 查看
概述
Windows操作系统为我们提供了先进的加密体系模型CryptAPI,同时该模型也提供了丰富的函数供第三方开发使用。但使用CryptAPI完成一些通常的操作(如:加密、签名)仍然是相当复杂的。幸好MS同时提供了CAPICOM组件,封装了上述的复杂操作,使你只需要调用一两个函数,就可以完成指定的功能。CAPICOM是一个COM模型的组件,可以在Windows环境下各种语言中使用。而且,CAPICOM中的大多数接口都是“脚本安全”的,这意味着你可以在浏览器网页脚本中安全地使用这些接口所提供的功能。
下面将对CAPICOM的功能做简要的介绍。在阅读这个介绍时,我们假设您已经对密码学知识、COM模型、脚本编程已经有初步的了解。
功能和适用环境
目前,CAPICOM共有两个版本:1.0版和 2.0版。其中,后者在前者的基础上,提供了一些额外的功能。CAPICOM v1.0提供如下功能:
1、 产生和验证PKCS#7格式的数字签名;
2、使用证书加密/解密数据;
3、 使用口令加密/解密数据;
CAPICOM v2.0额外提供如下功能:
1、 产生和验证代码签名;
2、 支持文件形式的证书;
3、 快速证书搜索;
4、 产生任意数据的哈希值;
5、 支持AES算法(需要Windows .NET Server 2003 或 Windows XP支持);
6、 支持高级证书属性,例如:政策、模板。
CAPICOM是重分发组件,也就是说它没有被包含在操作系统的中,需要单独安装注册该组件(可以从MS那里免费下载);CAPICOM v1.0 要求Win95、WinNT 4.0或更高版本,CAPICOM v2.0 要求Win98 、WinNT 4.0 +
SP4 或更高版本。
主要功能使用说明
下面对几种常用的加密操作和证书管理功能进行说明。哈稀运算
使用对象:HashedData脚本安全。
注意:需要CAPICOM v2.0 支持。
口令加解密
使用对象:EncryptedData脚本安全。
注意:该加密结果不符合PKCS#7标准,也就是说用CAPICOM加密的数据也只能用其解密。
数字信封
使用对象:EnvelopedData脚本安全。
处理结果符合PKCS#7标准。
数字签名
使用对象:SignedData脚本安全。
处理结果符合PKCS#7标准。
证书管理
使用对象:Certificate、Store等脚本安全。
你可以利用CAPICOM提供的一系列证书管理组件完成证书的验证、查询、存储、显示等操作。
内部策略
算法搜索策略
CAPICOM首先检查系统缺省CSP是否支持用户指定的算法及密钥长度,如果失败,则搜索微软提供的CSP,并判断其是否支持上面指定的算法和密钥长度。搜索顺序如下:1、 系统缺省CSP;
2、 Microsoft Enhanced Cryptographic Provider;
3、 Microsoft Strong Cryptographic Provider;
4、 Microsoft Base Cryptographic Provider;
由上可见,在CAPICOM中,我们可以通过自定义CSP并提供自己的加密算法,供上层应用程序使用。
例子程序
下面以VBScript调用CAPICOM为例,大家可以看到它的使用是非常简单的。显示证书
Set Cert = CreateObject("CAPICOM.Certificate") ‘创建对象Cert.Import “证书的PEM编码” ‘输入证书数据
Cert.Display ‘显示证书,大家可以看到那个很常见的证书显示窗口。
数据哈稀
Set hash = CreateObject("CAPICOM.HashedData")hash.hash “需要求哈稀的数据”
hashResult = hash.Value ‘哈稀的结果已经存在hashResult中了
参考资料
在MSDN中有对CAPICOM的详细描述,以下提供两个连接地址:CAPICOM使用参考:msdn//Security// Security(General)//SDK Documentation//Cryptography// Cryptography Reference//CAPICOM Reference
CAPICOM例子程序:msdn//Security// Security(General)//SDK Documentation//Cryptography//
Using Cryptography//Using CAPICOM
下载最新的CAPICOM: http://download.microsoft.com/download/7/7/0/7708ec16-a770-4777-8b85-0fcd05f5ba60/CC2RINST.EXE
相关文章推荐
- 微软CAPICOM控件介绍(二)
- 微软图表控件MsChart使用介绍
- operamasks-ui2.0 +MVC4.0+EF5.0实战之一 开篇及布局控件介绍
- 介绍Flex的LinkBar控件
- 微软 ASP.NET 环境下的页面验证控件
- MFC各种控件属性介绍
- Android文本控件的介绍
- 滑轮控件的研究五、ViewConfiguration的简单介绍(转)
- [jQuery]使用jQuery.Validate进行客户端验证(高级篇-上)——不使用微软验证控件的理由
- VBA---EXcel工具栏及控件对象、助手对象、内置对话框对象介绍
- ASP.NET AJAX文档-介绍UpdatePanel控件[翻译](4)
- 处理时的遮罩层-控件的妙用,基于微软ajax框架
- iOS开发UI篇—UIPickerView控件简单介绍
- FpSpread表格控件,FpSpread事件介绍(一)
- C#关于控件随窗体的改变而自动调整大小并且能重新定位的一些简单介绍和控件随窗体改变自适应类
- 介绍ASP.NET控件ID
- jWiard 基于JQuery的强大的向导控件介绍
- FastReport报表控件内置函数介绍之字符处理函数
- Web开发中的弹出对话框控件介绍
- 报表控件TeeChart价格/教程/下载/培训/介绍大全