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


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

Метод GetCertificateExtension получает указанное расширение сертификата.

Обратите внимание, что расширения сертификатов отличаются от свойств сертификата. Свойства — это универсальные данные, присоединенные к объекту запроса. Некоторые из этих свойств кодируются в сертификате (например, BeginDate), а другие просто используются для пометки запросов в очереди и журнале. Расширения, которые не отключены, кодируются в сертификате. Расширения всегда помечаются идентификатором объекта и всегда имеют критический или некритичный флаг.

Синтаксис

HRESULT GetCertificateExtension(
  [in]  const BSTR strExtensionName,
  [in]  LONG       Type,
  [out] VARIANT    *pvarValue
);

Параметры

[in] strExtensionName

Строка, содержащая имя расширения.

[in] Type

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

Значение Значение
PROPTYPE_LONG
Подписанные длинные данные
PROPTYPE_DATE
Дата и время
PROPTYPE_BINARY
Значение расширения извлекается как есть и при необходимости закодировано ASN.1.
PROPTYPE_STRING
Значение расширения — ASN.1, закодированное в виде строки IA5.

[out] pvarValue

Указатель на VARIANT , получающий запрошенное значение расширения.

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

C++

Если метод завершается успешно, метод возвращает S_OK, а параметру *pvarValue присваивается значение VARIANT , содержащее значение расширения.

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

VB

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

Комментарии

Перед использованием этого метода необходимо вызвать ICertServerExit::SetContext .

Примеры

VARIANT  varExt;
HRESULT  hr;

VariantInit(&varExt);
// Get the Extension value
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetCertificateExtension(bstrExtName,
                                              PROPTYPE_BINARY,
                                              &varExt);

if (FAILED(hr))
{
    printf("Failed GetCertificateExtension [%x]\n", hr);
    goto error;
}
// Successful call; Use the value in varExt as needed.
// ...

// When done, clear the Variant
VariantClear(&varExt);

Требования

   
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header certif.h (включая Certsrv.h)
Библиотека Certidl.lib
DLL Certcli.dll

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

ICertServerExit

ICertServerExit::GetCertificateExtensionFlags

ICertServerExit::SetContext