Store.Open 方法

[ Open 方法可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Store。]

Open 方法打开指定的证书存储。 默认情况下,CAPICOM_CURRENT_USER_STORE位置和CAPICOM_MY_STORE存储以只读方式打开。

语法

Store.Open( _
  [ ByVal StoreLocation ], _
  [ ByVal StoreName ], _
  [ ByVal OpenMode ] _
)

参数

StoreLocation [in, 可选]

CAPICOM_STORE_LOCATION 枚举的值,指示要打开的存储的位置。 默认值为 CAPICOM_CURRENT_USER_STORE。 此参数的取值可为下列值之一:

含义
CAPICOM_ACTIVE_DIRECTORY_USER_STORE
存储是 Active Directory 存储。 如果 Active Directory 存储以读/写方式打开,则不会生成错误,但不会保留对存储所做的任何更改。 不能在 Active Directory 存储中添加证书或从中删除证书。
CAPICOM_CURRENT_USER_STORE
应用商店是当前用户存储区。 当前用户存储可能是读/写存储。 如果存在,则保留存储内容中的更改。
CAPICOM_LOCAL_MACHINE_STORE
存储是本地计算机存储。 仅当用户具有读/写权限时,本地计算机存储才能是读/写存储。 如果用户具有读/写权限,并且打开存储区是读/写,则存储的内容更改将持久保存。
CAPICOM_MEMORY_STORE
存储是内存存储。 存储内容中的任何更改都不会持久保存。
CAPICOM_SMART_CARD_USER_STORE
存储是现有智能卡的组。 在 CAPICOM 2.0 中引入。

 

StoreName [in, 可选]

包含要打开的系统证书存储的名称的字符串。 默认值为 CAPICOM_MY_STORE。 如果从 Web 脚本打开存储区,则名称中不允许使用反斜杠 (\) 字符。 除了系统定义的存储外,还可以打开用户定义的存储。

此参数可以是用户定义的存储或以下系统证书存储之一。

含义
CAPICOM_CA_STORE
CA 存储。 此存储用于存储中间 CA 证书。
CAPICOM_MY_STORE
我的商店。 此存储用于用户的个人证书。
CAPICOM_OTHER_STORE
AddressBook 存储。 此存储用于保留其他人的证书。
CAPICOM_ROOT_STORE
根存储。 此存储用于存储根 CA 和自签名的受信任证书。

 

OpenMode [in, 可选]

CAPICOM_STORE_OPEN_MODE 枚举的值,指示存储的打开模式。 默认值为 CAPICOM_STORE_OPEN_READ_ONLY。 如果从 Web 脚本打开存储区,则强制CAPICOM_STORE_OPEN_EXISTING_ONLY此值。 此参数的取值可为下列值之一:

含义
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED
如果用户具有读/写权限,则以读/写模式打开存储;否则,请在只读模式下打开存储。
CAPICOM_STORE_OPEN_READ_ONLY
在只读模式下打开存储区。
CAPICOM_STORE_OPEN_READ_WRITE
在读/写模式下打开存储。

 

可以使用逻辑 OR 操作将以下标志与上表中的值组合在一起。

含义
CAPICOM_STORE_OPEN_EXISTING_ONLY
仅打开现有商店;不要创建新存储。 在 CAPICOM 2.0 中引入。
CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED
使用存储时包括存档的证书。 在 CAPICOM 2.0 中引入。

 

某些位置的存储只能在只读模式下打开。 其中包括用户没有写入权限CAPICOM_LOCAL_MACHINE_STORE中的所有存储。 尝试在没有适当访问权限和权限的情况下以读/写存储形式打开存储,将导致 Open 方法失败。 Active Directory 存储可以作为读/写存储打开,而不会失败 Open 方法,但不会保留对存储的更改。

返回值

此方法不返回值。

备注

如果在 SmartCard 存储中调用此方法,则可能会调用其他 SmartCard 用户界面。

重要

从 Web 脚本调用此方法时,脚本需要访问本地计算机上的数字证书。 如果允许脚本访问数字证书,则运行该脚本的网站也将获得对证书中存储的任何个人信息的访问权限。 第一次从特定域调用此方法时,将生成一个对话框,用户必须在其中指示是否应允许访问证书。 从 Web 脚本打开的存储会自动强制CAPICOM_STORE_OPEN_EXISTING_ONLY标志。

 

如果 StoreLocation是CAPICOM_SMART_CARD_USER_STORE,则忽略 StoreName 。 在这种情况下,CAPICOM 从包含智能卡的所有可用读取器读取所有证书。

要求

要求
可再发行组件
Windows Server 2003 和 Windows XP 上的 CAPICOM 2.0 或更高版本
DLL
Capicom.dll

另请参阅

存储

加密对象

关闭