27.3.5 CAPICOM对象——Store对象

Store对象提供了一些选择、管理、使用证书存储区的属性和方法。它包括的属性如表所示。

CAPICOM_CHECK_FLAG对象的主要属性

数据类型

权限

意义

Certificates

Certificates

只读

证书存储区的证书集,默认属性。

Store包括以下主要方法。

1.证书存储区添加证书方法Add

方法功能:添加一个证书对象到证书存储区。该方法只有在证书存储区被打开且有读写权限时有效。

[Visual Basic]

ObjectName.Add(

  Certificate as Certificate

)

参数说明:

q      Certificate[IN] 添加到证书存储区的证书对象。

返回值:无

2.打开证书存储区方法Open

方法功能:打开特定的证书存储区。默认是以只读方式打开CAPICOM_CURRENT_USER_STORECAPICOM_CURRENT_USER_STORE

方法定义:

[Visual Basic]

ObjectName.Open( _

  StoreLocation as CAPICOM_STORE_LOCATION,

  StoreName as String, _

  OpenMode as CAPICOM_STORE_OPEN_MODE _

)

参数说明:

q      StoreLocation[IN] CAPICOM_STORE_LOCATION枚举类型数据,表示预打开的证书存储区。

默认是CURRENT_USER_STORECAPICOM_STORE_LOCATION可选的值以及意义如表27.8所示。

CAPICOM_STORE_LOCATION支持的参数

意义

CAPICOM_MEMORY_STORE

0

内存存储区

CAPICOM_LOCAL_MACHINE_STORE

1

本机存储区

CAPICOM_CURRENT_USER_STORE

2

当前用户存储区

CAPICOM_ACTIVE_DIRECTORY_USER_STORE

3

Active Directory存储区。

q      StoreName[IN] 证书存储区名称。默认是CAPICOM_MY_STOREStoreName可选的值以及意义如表27.9所示。

StoreName支持的参数

意义

CAPICOM_MY_STORE

MY存储区,当前用户的个人存储区。

CAPICOM_CA_STORE

CA存储区,保存CA证书的存储区。

CAPICOM_ROOT_STORE

ROOT存储区,保存CA根证书的存储区。

CAPICOM_OTHER_STORE

OTHER存储区,保存其他人证书的存储区。

q      OpenMode:[IN] CAPICOM_STORE_OPEN_MODE_ 枚举类型的数据。打开存储区的模式。默认是只读。CAPICOM_STORE_OPEN_MODE_可选的值以及意义如表27.10所示。

CAPICOM_STORE_OPEN_MODE支持的参数

意义

CAPICOM_STORE_OPEN_READ_ONLY

只读

CAPICOM_STORE_OPEN_READ_WRITE

/

CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED

最大权限打开,即如果用户有写权限则以读/写的方式打开,否则以只读的方式打开。

示例代码:

         var oStore = new ActiveXObject("CAPICOM.Store");

         var oStoreCerts;

         oStore.Open(CAPICOM_CURRENT_USER_STORE,CAPICOM_MY_STORE,CAPICOM_STORE_OPEN_READ_ONLY | CAPICOM_STORE_OPEN_EXISTING_ONLY);//以只读的方式打开个人存储区

         oStoreCerts=oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_KEY_USAGE, CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE, true);//查找所有签名证书

         var oSelectedCerts = oStoreCerts.Select();//弹出证书选择框

         var oCert = oSelectedCerts (1);

         alert("证书序列号:"+ oCert.SerialNumber);

         var issuer=oCert.GetInfo(CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME);

         alert("正式颁发者"+ issuer);

         var subject=oCert.GetInfo(CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME)

         alert("证书拥有者:"+ subject);

该代码的运行效果为读取个人存储区,弹出证书选择框,显示选择的证书信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值