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


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

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

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

Синтаксис

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

Параметры

[in] strPropertyName

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

Другие свойства, допустимые для запросов сертификатов , включают свойства запроса.

Примечание Свойства DistinguishedName и RawName запроса доступны getRequestProperty только в том случае, если сертификат запрашивается с помощью запроса сертификата PKCS #10 или другого поддерживаемого формата запроса, содержащего закодированные сведения об имени субъекта. Обратите внимание, что запросы KeyGen не содержат закодированных сведений об имени субъекта.
 

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

Свойство Request Значение
Disposition
Длинная подпись
Ликвидация текущего запроса
DispositionMessage
Строка
Информационное сообщение о ликвидации
RawCACertificate
Двоичные данные
Сертификат для выдающего центра сертификации
RawRequest
Двоичные данные
Необработанные байты запросов
RequestAttributes
Строка
Строка атрибута (может быть усечена)
RequesterName
Строка
Имя инициатора запроса в формате DomainName\UserID.
RequestID
Длинная подпись
Внутренний идентификатор запроса
RequestType
Длинная подпись
Указывает PKCS #10 или запрос KeyGen
ResolvedWhen
Дата и время
При разрешении
StatusCode
Длинная подпись
Ошибка Windows для последней операции
SubmittedWhen
Дата и время
По прибытии
 

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

Значение Значение
CR_IN_PKCS7
Запрос на продление или регистрацию PKCS No 7
CR_IN_PKCS10
Запрос PKCS #10
CR_IN_KEYGEN
Запрос Keygen (формат Netscape)
 

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

[in] PropertyType

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

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

[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
Header certif.h (включая Certsrv.h)
Библиотека Certidl.lib
DLL Certcli.dll

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

ICertServerExit

ICertServerExit::SetContext

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