CertCreateCTLContext 函数 (wincrypt.h)
CertCreateCTLContext 函数从编码的 CTL 创建证书信任列表 (CTL) 上下文。 创建的上下文不会保存到 证书存储中。 函数在创建的上下文中复制编码的 CTL。
语法
PCCTL_CONTEXT CertCreateCTLContext(
[in] DWORD dwMsgAndCertEncodingType,
[in] const BYTE *pbCtlEncoded,
[in] DWORD cbCtlEncoded
);
参数
[in] dwMsgAndCertEncodingType
指定使用的编码类型。 必须通过将证书和 消息编码类型 与按位 OR 操作组合来指定,如以下示例所示:
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING当前定义的编码类型为:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pbCtlEncoded
指向包含要从中创建上下文的编码 CTL 的缓冲区的指针。
[in] cbCtlEncoded
pbCtlEncoded 缓冲区的大小(以字节为单位)。
返回值
如果函数成功,则返回值是指向只读 CTL_CONTEXT的指针。
如果函数失败并且无法解码和创建 CTL_CONTEXT,则返回值为 NULL。 有关扩展的错误信息,请调用 GetLastError。 下表显示了可能的错误代码。
返回代码 | 说明 |
---|---|
|
证书编码类型无效。 仅支持PKCS_7_ASN_ENCODING和X509_ASN_ENCODING。 |
如果函数失败, GetLastError 可能会返回 抽象语法表示法 One (ASN.1) 编码/解码错误。 有关这些错误的信息,请参阅 ASN.1 编码/解码返回值。
注解
必须通过调用 CertFreeCTLContext 来释放CTL_CONTEXT。 可以调用 CertDuplicateCTLContext 来复制。 可以调用 CertSetCTLContextProperty 和 CertGetCTLContextProperty 来存储和读取 CTL 的属性。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Crypt32.lib |
DLL | Crypt32.dll |