CERT_SELECT_CRITERIA 结构 (wincrypt.h)

CERT_SELECT_CRITERIA 结构指定传递给 CertSelectCertificateChains 函数的选择条件。

语法

typedef struct _CERT_SELECT_CRITERIA {
  DWORD dwType;
  DWORD cPara;
  void  **ppPara;
} CERT_SELECT_CRITERIA, *PCERT_SELECT_CRITERIA;

成员

dwType

指定用于 ppPara 成员的选择条件的类型。 此成员可以具有以下值之一。

含义
CERT_SELECT_BY_ENHKEY_USAGE
1
根据特定的 增强型密钥使用情况选择证书。 设置此标志后, ppPara 必须引用以 null 结尾 的对象标识符 (OID) ANSI 字符串,该字符串指定增强的密钥用法。

此条件在 证书上进行评估。

CERT_SELECT_BY_KEY_USAGE
2
根据证书中的特定 szOID_KEY_USAGE 扩展选择证书。 设置此标志时, ppPara 成员必须引用 CERT_EXTENSION 结构,其中扩展的值为标识密钥用法位的 DWORD

此条件在证书上进行评估。

CERT_SELECT_BY_POLICY_OID
3
根据特定的颁发策略选择证书。 ppPara 成员必须引用所需颁发策略的以 null 结尾的 OID ANSI 字符串。

此条件根据证书链的颁发策略进行评估。

CERT_SELECT_BY_PROV_NAME
4
根据特定的 私钥 提供程序选择证书。 ppPara 成员必须引用以 null 结尾的 Unicode 字符串,该字符串表示提供程序的名称。
CERT_SELECT_BY_EXTENSION
5
根据是否存在指定的扩展和可选的指定值来选择证书。 ppPara 成员必须引用指定扩展 OID 和关联值的 CERT_EXTENSION 结构。
CERT_SELECT_BY_SUBJECT_HOST_NAME
6
根据使用者 DNS 主机名选择证书。 ppPara 成员必须引用包含使用者主机名的以 null 结尾的 Unicode 字符串。 基于此标志执行的操作与调用 CertVerifyCertificateChainPolicy 函数期间SSL_EXTRA_CERT_CHAIN_POLICY_PARA结构的 pwszServerName 成员的计算相同。

此条件在证书上进行评估。

CERT_SELECT_BY_ISSUER_ATTR
7
根据证书颁发者的 相对可分辨名称 (RDN) 元素选择证书。 ppPara 成员必须引用包含颁发者的 RDN 元素的 CERT_RDN 结构。

此条件在证书链上进行评估。

CERT_SELECT_BY_SUBJECT_ATTR
8
根据证书的“使用者”中的 RDN 元素选择证书。 ppPara 成员必须是对包含 Subject 的 RDN 元素的 CERT_RDN 结构的引用。

此条件在证书上进行评估。

CERT_SELECT_BY_ISSUER_NAME
9
根据证书的颁发者选择证书。 ppPara 成员必须是对包含颁发者名称的CERT_NAME_BLOB结构的引用。

此条件在证书链上进行评估。

CERT_SELECT_BY_PUBLIC_KEY
10
根据证书的 公钥 选择证书。 ppPara 成员必须引用指向包含公钥的CERT_PUBLIC_KEY_INFO结构的指针。

此条件在证书上进行评估。

CERT_SELECT_BY_TLS_SIGNATURES
11
根据 传输层安全协议 (TLS) 签名要求选择证书。 ppPara 成员必须引用SecPkgContext_SupportedSignatures结构。

此条件在证书上进行评估。

cPara

一个 DWORD 值,该值指定 ppPara 成员中指定的搜索属性的数目。

ppPara

指向指向一个或多个选择值的指针的指针的指针。 数据类型取决于 dwType 成员指定的选择类型。 如果存在多个选择值,则应用程序只能匹配一个值。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 wincrypt.h