CryptGetObjectUrl 函数 (wincrypt.h)
CryptGetObjectUrl 函数从证书、证书信任列表 (CTL) 或证书吊销列表 (CRL) 获取远程对象的 URL。
函数获取 对象,对其进行解码,并提供指向对象中 URL 数组的指针。 例如,从证书中,URL 的 CRL 通讯组列表将位于 数组中。
语法
BOOL CryptGetObjectUrl(
[in] LPCSTR pszUrlOid,
[in] LPVOID pvPara,
[in] DWORD dwFlags,
[out] PCRYPT_URL_ARRAY pUrlArray,
[in, out] DWORD *pcbUrlArray,
[out] PCRYPT_URL_INFO pUrlInfo,
[in, out] DWORD *pcbUrlInfo,
LPVOID pvReserved
);
参数
[in] pszUrlOid
指向 对象标识符 的指针 (标识所请求的 URL 的 OID) 。 如果 pszUrlOid 参数的 HIWORD 为零,则 LOWORD 指定指定结构类型的整数标识符。
此参数的取值可为下列值之一: 有关这些值如何影响 pvPara 参数的信息,请参阅“含义”列中的标题“For the pvPara 参数”。
值 | 含义 |
---|---|
|
提供从证书的颁发机构信息访问扩展或属性检索到的证书颁发者的 URL。
对于 pvPara 参数:指向由请求其 URL 的颁发者颁发的 CERT_CONTEXT 结构的指针。 |
|
提供从证书的 CRL 分发点扩展或属性检索的 CRL 分发点的 URL 列表。
对于 pvPara 参数:指向请求其 CRL 分发点 的CERT_CONTEXT 结构的指针。 |
|
提供 OCSP 和 CRL 分发点 URL 的列表,这些 URL 来自颁发机构信息访问 (AIA) 和 CRL 分发点扩展或证书的属性。 函数首先返回任何 CRL 分发点 URL。 在使用任何 OCSP URL 之前,必须删除 L“ocsp:”前缀。
对于 pvPara 参数:指向请求 OCSP 和 CRL 分发点 URL 的CERT_CONTEXT 结构的指针。 |
|
提供机构信息访问的 OCSP URL, (AIA) 证书的扩展或属性。
对于 pvPara 参数:指向请求其 OCSP URL 的CERT_CONTEXT 结构的指针。 |
|
提供 OCSP 和 CRL 分发点 URL 的列表,这些 URL 来自颁发机构信息访问 (AIA) 和 CRL 分发点扩展或证书的属性。 函数首先返回任何 OCSP URL。 在使用任何 OCSP URL 之前,必须删除 L“ocsp:”前缀。
对于 pvPara 参数:指向请求 OCSP 和 CRL 分发点 URL 的CERT_CONTEXT 结构的指针。 |
|
提供来自机构信息访问的 OCSP URL 列表, (AIA) 证书的扩展或属性。 在使用任何 OCSP URL 之前,必须删除 L“ocsp:”前缀。
对于 pvPara 参数:指向请求 OCSP URL 的CERT_CONTEXT 结构的指针。 |
|
提供从 PKCS #7 CTL 中每个签名者信息中编码的颁发机构信息访问属性方法中检索的 CTL 颁发者的 URL。
对于 pvPara 参数:指向签名者索引 CTL_CONTEXT 结构的指针,该结构由请求其 URL(由签名者索引标识)的颁发者颁发。 |
|
提供从颁发机构信息访问 CTL 扩展、属性或签名者信息属性方法检索的 CTL 的下一个更新的 URL。
对于 pvPara 参数:指向请求其下一个更新 URL 的签名者索引CTL_CONTEXT结构的指针,以及可选的签名者索引(如果需要检查签名者信息属性)。 |
|
提供从 CRL 上的属性检索到的 CRL 颁发者的 URL,该属性继承自使用者证书 (使用者证书颁发者或使用者证书分发点扩展) 。 它被编码为颁发机构信息访问扩展方法。
对于 pvPara 参数:指向请求其 URL 的颁发者颁发的 CRL_CONTEXT 结构的指针。 |
|
检索证书的最新 CRL 扩展或属性。
对于 pvPara 参数:正在请求其最新 CRL 分发点的证书的PCCERT_CONTEXT。 |
|
检索 CRL 的最新 CRL 扩展或属性。
对于 pvPara 参数:指向 CERT_CRL_CONTEXT_PAIR 结构的指针,该结构包含正在请求其最新 CRL 分发点的证书的基本 CRL。 |
|
检索证书的跨证书分发点扩展或属性。
对于 pvPara 参数:正在请求其跨证书分发点的证书的PCCERT_CONTEXT。 |
|
检索证书的跨证书使用者信息访问扩展或属性。
对于 pvPara 参数:请求跨证书使用者信息访问的证书的PCCERT_CONTEXT。 |
[in] pvPara
由 pszUrlOid 的值确定的结构。 有关详细信息,请参阅 pszUrlOid 参数的说明。
[in] dwFlags
一组标志,用于获取对象的 URL 定位符。 这可以是零,也可以是以下一个或多个值的组合。
[out] pUrlArray
指向缓冲区的指针,用于接收值条目的数据。 此参数可以为 NULL ,以查找保存数据所需的缓冲区长度。
有关详细信息,请参阅 检索长度未知的数据。
[in, out] pcbUrlArray
指向 DWORD 的指针,指定 pUrlArray 参数指向的缓冲区的大小(以字节为单位)。 函数返回时, DWORD 包含缓冲区中存储的字节数。 仅当 pUrlArray 为 NULL 时,此参数才能为 NULL。
[out] pUrlInfo
指向接收值条目数据的 CRYPT_URL_INFO 结构的可选指针。
[in, out] pcbUrlInfo
指向 DWORD 的指针,指定 pUrlArray 参数指向的缓冲区的大小(以字节为单位)。 函数返回时, DWORD 包含缓冲区中存储的字节数。
pvReserved
保留供将来使用,必须为 NULL。
返回值
如果函数成功,则函数) 返回非零 (TRUE 。
如果函数失败,则返回零 (FALSE) 。 有关扩展的错误信息,请调用 GetLastError。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Cryptnet.lib |
DLL | Cryptnet.dll |