CertCreateCTLEntryFromCertificateContextProperties 函数 (wincrypt.h)
CertCreateCTLEntryFromCertificateContextProperties 函数 (CTL) 条目创建证书信任列表,其属性是证书上下文的属性。 CTL 条目中的 SubjectIdentifier 是证书的 SHA1 哈希。
证书属性将添加为属性。 属性属性 OID 是前面有szOID_CERT_PROP_ID_PREFIX的十进制PROP_ID。 每个属性值都复制为单个属性值。
可以使用 cOptAttr 和 rgOptAttr 参数将其他属性包含在 CTL 条目中。
语法
BOOL CertCreateCTLEntryFromCertificateContextProperties(
[in] PCCERT_CONTEXT pCertContext,
[in] DWORD cOptAttr,
[in] PCRYPT_ATTRIBUTE rgOptAttr,
[in] DWORD dwFlags,
[in] void *pvReserved,
[out] PCTL_ENTRY pCtlEntry,
[in, out] DWORD *pcbCtlEntry
);
参数
[in] pCertContext
指向用于创建 CTL 的CERT_CONTEXT 的指针。
[in] cOptAttr
指定要添加的其他属性数的 DWORD 。
[in] rgOptAttr
指向要添加到 CTL 的任何CRYPT_ATTRIBUTE 属性数组的指针。
[in] dwFlags
DWORD。 可以设置为 CTL_ENTRY_FROM_PROP_CHAIN_FLAG,以强制将链生成哈希属性作为属性包含在内。
[in] pvReserved
指向 VOID 的指针。 保留供将来使用。
[out] pCtlEntry
指向 CTL_ENTRY 结构的指针的地址。 调用此函数两次以检索 CTL 条目。 在第一次调用时将此参数设置为 NULL 。 当函数返回时,使用从 tlEntry 参数检索到的字节数来分配内存。 再次调用 函数,将此参数设置为已分配内存的地址。
[in, out] pcbCtlEntry
指向包含必须为 CTL_ENTRY 结构分配的字节数的 DWORD的 指针。 调用此函数两次以检索字节数。 对于第一次调用,请将此参数设置为包含零的 DWORD 值的地址,并将 pCtlEntry 参数设置为 NULL。 如果第一次调用成功, 则 DWORD 值将包含必须为 CTL_ENTRY 结构分配的字节数。 分配所需的内存并再次调用函数,并在 pCtlEntry 参数中提供内存的地址。
返回值
如果函数成功,则函数) 返回非零 (TRUE 。
如果函数失败,它将返回零 (FALSE) 。 有关扩展的错误信息,请调用 GetLastError。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Crypt32.lib |
DLL | Crypt32.dll |