ICertServerExit::GetRequestProperty 方法 (certif.h)
GetRequestProperty 方法从请求返回命名属性。
请注意,请求用于保存请求的所有关联状态,以及不是证书一部分的最终授予证书。 因此,吊销时间和处置数据等数据保存在请求数据对象中。
语法
HRESULT GetRequestProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
参数
[in] strPropertyName
指定要检索的属性。 有一组常用证书属性(称为名称属性),这些属性始终有效,可以通过调用此方法进行检索。 有关这些属性的信息,请参阅 Name Properties。
对 证书请求 有效的其他属性包括请求属性。
注意仅当使用 PKCS #10 证书请求或其他包含编码使用者名称信息的支持请求格式请求证书时,GetRequestProperty 才能访问请求的 DistinguishedName 和 RawName 属性。 请注意,KeyGen 请求不包含编码的使用者名称信息。
以下属性对于请求是唯一的,可以使用 GetRequestProperty 方法进行访问。
请求属性 | 含义 |
---|---|
|
当前请求处置 |
|
信息性处置消息 |
|
颁发 证书颁发机构的证书 |
|
原始请求字节数 |
|
属性字符串 (可以截断) |
|
请求者的名称,格式为“DomainName\UserID” |
|
内部 requestID |
|
指示 PKCS #10 或 KeyGen 请求 |
|
解决时 |
|
上次操作的 Windows 错误 |
|
到达时 |
RequestType 属性将是以下值之一。
值 | 含义 |
---|---|
|
PKCS #7 续订或注册请求 |
|
PKCS #10 请求 |
|
(Netscape 格式) 的 Keygen 请求 |
此外,其他属性可能由特定的请求类型、请求扩展或请求标头中设置的命名属性设置。
[in] PropertyType
指定属性类型。 类型可以是以下类型之一。
值 | 含义 |
---|---|
|
有符号的长数据 |
|
日期/时间 |
|
Binary data |
|
Unicode 字符串数据 |
[out] pvarPropertyValue
指向将包含请求属性类型的 VARIANT 的指针。
返回值
C++
如果该方法成功,该方法将返回S_OK,并且 *pvarPropertyValue 设置为包含请求属性值的 VARIANT 。如果方法失败,它将返回指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 常见 HRESULT 值。
VB
返回值为请求属性值。注解
在使用此方法之前,必须调用 ICertServerExit::SetContext 。
示例
BSTR bstrPropName = NULL;
VARIANT varProp;
VariantInit( &varProp );
bstrPropName = SysAllocString(L"RequestID");
// Retrieve the request property.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetRequestProperty( bstrPropName,
PROPTYPE_LONG,
&varProp );
if (FAILED(hr))
{
printf("Failed GetRequestProperty [%x]\n", hr);
goto error;
}
else
{
// Successfully retrieved property; use varProp as needed.
// ...
}
// Done processing.
VariantClear( &varProp );
if ( NULL != bstrPropName )
SysFreeString( bstrPropName );
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | certif.h (包括 Certsrv.h) |
Library | Certidl.lib |
DLL | Certcli.dll |