wincrypt.h) (CERT_PHYSICAL_STORE_INFO 结构
CERT_PHYSICAL_STORE_INFO 结构包含有关物理证书存储的信息。 这些结构的某些成员直接传递给 CertOpenStore 的系统调用以打开物理存储。
语法
typedef struct _CERT_PHYSICAL_STORE_INFO {
DWORD cbSize;
LPSTR pszOpenStoreProvider;
DWORD dwOpenEncodingType;
DWORD dwOpenFlags;
CRYPT_DATA_BLOB OpenParameters;
DWORD dwFlags;
DWORD dwPriority;
} CERT_PHYSICAL_STORE_INFO, *PCERT_PHYSICAL_STORE_INFO;
成员
cbSize
此结构的大小(以字节为单位)。
pszOpenStoreProvider
指向命名 证书存储 提供程序类型的字符串的指针。 此字符串在对 CertOpenStore 的系统调用中传递,并确定要打开的证书存储的提供程序类型。 有关预定义证书存储类型的名称,请参阅 CertOpenStore。
除了预定义的证书存储提供程序类型外,还可以使用 CryptInstallOIDFunctionAddress 或 CryptRegisterOIDFunction 安装和注册新的存储提供程序类型。 有关详细信息,请参阅 CertOpenStore。
dwOpenEncodingType
仅当在 lpszStoreProvider 中传递CERT_STORE_PROV_MSG、CERT_STORE_PROV_PKCS7或CERT_STORE_PROV_FILENAME时,此成员才适用。 否则,不使用此成员。
始终可以接受将证书和 消息编码类型 与按位 OR 操作组合在一起,如以下示例所示:
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING当前定义的编码类型为:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
dwOpenFlags
如果使用 SERVICES 或 USERS 存储位置打开系统存储,则 dwOpenFlags 存储位置设置为 CERT_SYSTEM_STORE_USERS 或 CERT_SYSTEM_STORE_SERVICES。
OpenParameters
包含要传递给 CertOpenStore 函数的 pvPara 参数的数据的CRYPT_DATA_BLOB。 数据类型取决于指定的提供程序。 有关要传递的类型和内容的详细信息,请参阅 CertOpenStore 中可用提供程序的说明。
dwFlags
定义了CERT_PHYSICAL_STORE_INFO的以下 dwFlags 值。
值 | 含义 |
---|---|
|
允许将 上下文 添加到存储区。 |
|
由 CertRegisterPhysicalStore 函数设置 。 默认情况下,位于注册表中的所有系统存储都有一个打开的隐式 SystemRegistry 物理存储。 若要禁用此存储的打开,必须通过设置 CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG 或通过注册名为 “的物理存储来注册对应于系统存储的 SystemRegistry 物理存储。默认值“,包含 CertRegisterPhysicalStore。 |
|
禁用远程打开物理存储。 |
|
在其他提供程序类型前面Places字符串 \\ComputerName。 |
|
使 CertOpenStore 能够相对于用户指定的 HKEY 打开存储,而不是打开预定义的 HKEY 常量之一。 例如,HKEY_CURRENT_USER可以替换为用户指定的 HKEY。 设置CERT_SYSTEM_STORE_RELOCATE_FLAG后,传递给 CertOpenStore 的 pvPara 参数指向CERT_SYSTEM_STORE_RELOCATE_PARA结构,而不是以 null 结尾的 Unicode 或 ASCII 字符串指向存储名称。 |
dwPriority
打开系统存储时,其物理存储根据其 dwPriority 设置进行排序。 dwPriority 越高表示优先级越高。 dwPriority 成员将传递给 CertAddStoreToCollection。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | wincrypt.h |