Метод 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.
Возвращаемый код или значение | Описание |
---|---|
|
Не удается найти запрос на сертификат. |
|
Объект регистрации не инициализирован. |
Комментарии
При необходимости метод CreateRequest вызывает метод Encode для кодирования необработанных данных из связанного объекта запроса.
Этот метод использует сведения, предоставленные во время инициализации, и другие указанные свойства, создает фиктивный сертификат и помещает его в хранилище запросов. При необходимости метод также создает пару ключей. В зависимости от способа инициализации объекта регистрации и заданных свойств может не потребоваться создавать пару ключей. Например, если вы обновляете сертификат с помощью существующего ключа или объект IX509PrivateKey , связанный с запросом сертификата, представляет существующий ключ, этот метод не создает новую пару ключей.
Если используется смарт-карта, этот метод кодирует внешние свойства как расширения, включает их в фиктивный сертификат и записывает фиктивный сертификат в контейнер ключа смарт-карты. Сертификаты входа со смарт-картами кодируются в хранилище запросов, а не в личное хранилище.
Перед вызовом метода CreateRequest необходимо инициализировать объект IX509Enrollment , вызвав один из следующих методов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |