Поделиться через


Метод ICertServerPolicy::GetRequestProperty (certif.h)

Метод GetRequestProperty извлекает определенное свойство из запроса.

Синтаксис

HRESULT GetRequestProperty(
  [in]  const BSTR strPropertyName,
  [in]  LONG       PropertyType,
  [out] VARIANT    *pvarPropertyValue
);

Параметры

[in] strPropertyName

Указывает имя извлекаемого свойства. Для этого параметра можно задать свойство name или свойство запроса.

Свойства имен включают набор свойств сертификата, которые всегда допустимы и могут быть получены путем вызова этого метода. Сведения об этих свойствах см. в разделе Свойства имени.

Свойства запроса уникальны для запросов и включают следующие возможные значения.

Значение Значение
RequestID
Подписанный длинный
Внутренний идентификатор запроса.
RawRequest
Двоичные данные
Необработанные байты запроса.
RequestAttributes
Строка
Строка атрибута (может быть усечена).
RequestType
Подписанный длинный
Указывает PKCS 10 или запрос KeyGen. Дополнительные сведения об этом свойстве см. в разделе Примечания.
SubmittedWhen
Дата и время
Когда прибыл.
RequesterName
Строка
Имя инициатора запроса в формате DomainName\UserID.
 

ПримечаниеGetRequestProperty не может получить доступ к дополнительным свойствам запроса, так как они не задаются до тех пор, пока модуль политики не завершит обработку запроса. Кроме того, другие свойства могут быть заданы определенным типом запроса, расширениями запросов или именованными атрибутами, заданными в заголовке запроса.

[in] PropertyType

Указывает тип свойства. Параметр PropertyType может быть одного из следующих типов.

Значение Значение
PROPTYPE_LONG
Подписанные длинные данные.
PROPTYPE_DATE
Дата и время.
PROPTYPE_BINARY
Двоичные данные.
PROPTYPE_STRING
Строковые данные в Юникоде.

[out] pvarPropertyValue

Указатель на VARIANT , содержащий тип свойства запроса.

Возвращаемое значение

C++

Если метод выполнен успешно, метод возвращает S_OK, а параметр pvarPropertyValue содержит свойство запроса.

Если метод завершается сбоем, он возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

VB

Возвращаемое значение — это свойство запроса.

Комментарии

Перед вызовом этого метода необходимо вызвать метод SetContext . Вызов SetContext указывает, какой запрос используется в качестве текущего контекста.

Запросы содержат все связанные состояния для запроса и возможного предоставленного сертификата, который не является частью сертификата. Таким образом, такие данные, как время отзыва и данные о ликвидации, хранятся в объекте данных запроса.

Для свойства RequestType можно задать одно из следующих значений.

Значение Значение
CR_IN_PKCS Запрос является запросом на продление или регистрацию PKCS No 7.
CR_IN-PKCS10 Запрос является запросом PKCS #10.
CR_IN_KEYGEN Запрос является запросом Keygen (формат Netscape).
 

Примеры

BSTR      bstrPropName = NULL;
VARIANT   varProp;

VariantInit( &varProp );

bstrPropName = SysAllocString(L"RequestID");

// Retrieve the request property.
// pCertServerPolicy has been used to call SetContext previously.
hr = pCertServerPolicy->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
Header certif.h (включая Certsrv.h)
Библиотека Certidl.lib
DLL Certcli.dll

См. также раздел

ICertServerPolicy

ICertServerPolicy::SetContext

Свойства имени