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


Метод IX509Enrollment::CreateRequest (certenroll.h)

Метод CreateRequest извлекает закодированный запрос на сертификат. Запрос сертификата содержится в массиве байтов, закодированном с помощью Distinguished Encoding Rules (DER) в соответствии со стандартом Abstract Syntax Notation One (ASN.1). Массив байтов в кодировке DER представлен строкой, которая является чистой двоичной последовательностью или кодировкой Юникода. Этот метод поддерживается через Интернет.

Синтаксис

HRESULT CreateRequest(
  [in]  EncodingType Encoding,
  [out] BSTR         *pValue
);

Параметры

[in] Encoding

Значение перечисления EncodingType , указывающее тип кодировки Юникода, применяемой к запросу с кодировкой DER. Значение по умолчанию — XCN_CRYPT_STRING_BASE64.

[out] pValue

Указатель на переменную BSTR , содержащую запрос в кодировке DER.

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

Если функция выполнена успешно, функция возвращает S_OK.

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

Возвращаемый код или значение Описание
CERTSRV_E_PROPERTY_EMPTY
Не удается найти запрос на сертификат.
OLE_E_BLANK
Объект регистрации не инициализирован.

Комментарии

При необходимости метод CreateRequest вызывает метод Encode для кодирования необработанных данных из связанного объекта запроса.

Этот метод использует сведения, предоставленные во время инициализации, и другие указанные свойства, создает фиктивный сертификат и помещает его в хранилище запросов. При необходимости метод также создает пару ключей. В зависимости от способа инициализации объекта регистрации и заданных свойств может не потребоваться создавать пару ключей. Например, если вы обновляете сертификат с помощью существующего ключа или объект IX509PrivateKey , связанный с запросом сертификата, представляет существующий ключ, этот метод не создает новую пару ключей.

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

Перед вызовом метода CreateRequest необходимо инициализировать объект IX509Enrollment , вызвав один из следующих методов.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header certenroll.h
DLL CertEnroll.dll

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

IX509CertificateRequest

IX509Enrollment