ICspStatus::p ut_Ordinal 方法 (certenroll.h)
Ordinal 属性指定或检索 ICspStatus 对象在 ICspStatuses 集合中的位置。
此属性是可读写的。
语法
HRESULT put_Ordinal(
LONG Value
);
参数
Value
返回值
无
备注
若要按序号循环访问 ICspStatuses 集合,请调用 ItemByOrdinal 属性。 每次枚举集合时,集合中 ICspStatus 对象的序号顺序可能会有所不同,原因有多种,包括但不限于:
- 证书请求模板设置
- 加密提供程序的属性值
- 私钥属性值
例如,假设选择用于创建证书请求的版本 2 模板指定证书只能用于签名 (pKIDefaultKeySpec 模板属性XCN_AT_SIGNATURE) 且默认提供程序为 Microsoft 增强型 RSA 和 AES 加密提供程序。 请注意,模板将证书限制为签名,即使提供程序同时支持加密和签名算法。 也就是说,提供程序上的 KeySpec 属性是XCN_AT_KEYEXCHANGE和XCN_AT_SIGNATURE常量按位组合,但 pKIDefaultKeySpec 模板属性仅支持XCN_AT_SIGNATURE。
集合中的 ICspStatus 对象将按以下方式排序:
- 在此提供程序枚举的 ICspStatus 对象中,与签名算法 (XCN_AT_SIGNATURE) 关联的对象首先进行排序, (较低的序号值) 并启用其 Display 和 Selected 属性。 注意 如果已XCN_AT_KEYEXCHANGE pKIDefaultKeySpec 模板属性,则会先对加密算法进行排序。
- 在此提供程序枚举的 ICspStatus 对象中,与加密算法 (XCN_AT_KEYEXCHANGE) 关联的对象 (更高序号值) 排序,并且不启用其 Display 和 Selected 属性。
- 对于支持非对称签名算法 (XCN_AT_SIGNATURE) 但未与指定提供程序关联的所有其他已安装的 CryptoAPI 提供程序,启用 Display 属性且未启用 Selected 属性。
- 对于支持非对称加密算法 (XCN_AT_KEYEXCHANGE) 的所有其他已安装的 CryptoAPI 提供程序,不启用 Display 和 Selected 属性。
- 对于所有已安装的加密 API:下一代 (CNG) 提供程序,不启用 “显示 ”和 “选定” 属性。
对于另一个示例,假设版本 3 模板指定了一个特定的 CNG 提供程序和算法。 该提供程序/算法对 (ICspStatus 对象) 先进行排序,启用显示并选中。 该提供程序支持的所有其他算法稍后会进行排序,不启用显示,并且未选中。 支持指定算法的所有其他提供程序稍后仍会进行排序,启用显示,但未选中。 所有剩余的提供程序/算法对都不会启用显示,也不会选择。
注意 CNG 提供程序不支持 KeySpec 预期使用概念。 它们返回此属性值的XCN_AT_NONE。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | certenroll.h |
DLL | CertEnroll.dll |