IX509CertificateRequest::Encode 方法 (certenroll.h)
Encode 方法对证书请求进行签名和编码,如果密钥对不存在,则创建密钥对。 根据抽象语法表示法 1 ( ASN.1 标准) 定义,使用 可辨别编码规则 (DER) 对请求进行编码。 编码过程创建字节数组。 可以通过调用 RawData 属性来检索字节数组。
语法
HRESULT Encode();
返回值
如果函数成功,该函数将返回 S_OK。
如果函数失败,它将返回一个 指示错误的 HRESULT 值。 可能的值包括(但并不限于)下表中的项。 有关常见错误代码的列表,请参阅 通用 HRESULT 值。
返回代码/值 | 说明 |
---|---|
|
已为 CMC 请求设置了 ArchivePrivateKey 属性,但找不到密钥交换证书。 |
|
对象未初始化。 |
注解
对于 PKCS #10 请求,此方法:
- 汇报私钥或根据需要创建密钥。
- 从私钥填充公钥。
- 汇报扩展,添加任何默认扩展,并考虑抑制的 OID 集合和关键扩展 OID 集合。
- 汇报属性,添加默认属性并考虑抑制的 OID 集合。
- 对无符号更新的请求进行汇编和编码。
- 创建签名并对其进行编码。
- 对签名和无符号请求进行编码。
对于 CMC 请求,此方法:
- 对所有内部请求对象进行编码。
- 汇报外部请求对象的扩展,添加任何默认扩展,并考虑抑制的 OID 集合和关键扩展 OID 集合。
- 汇报外部请求对象的属性,添加默认属性并考虑抑制的 OID 集合。
- 汇报名称/值对集合。
- 对由编码的内部请求和更新的外部请求组成的 CMC 内容进行编码。
- 为每个签名证书创建和编码签名。
- 创建和编码主签名。
- 将编码的 CMC 内容 (包括内部请求和更新的外部请求) 以及编码的签名。
- 将汇编的内容编码为 PKCS #7 消息。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | certenroll.h |
DLL | CertEnroll.dll |