Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод InitializeDecode декодирует существующий подписанный или неподписанный запрос сертификата PKCS #10 и использует его для инициализации нового объекта запроса PKCS #10. Существующий запрос содержится в массиве байтов, который был закодирован с помощью правил различаемой кодировки (DER), как определено стандартом абстрактного нотации синтаксиса ( ASN.1). Массив байтов представлен строкой, которая является чистой двоичной последовательностью или закодирована Юникодом.
Синтаксис
HRESULT InitializeDecode(
[in] BSTR strEncodedData,
[in] EncodingType Encoding
);
Параметры
[in] strEncodedData
Переменная BSTR , содержащая запрос в кодировке DER. Дополнительные сведения см. в подразделе "Примечания".
[in] Encoding
Значение перечисления EncodeType , указывающее тип кодировки Юникода, примененный к входной строке, содержащей запрос в кодировке DER. Значение по умолчанию — XCN_CRYPT_STRING_BASE64.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается ошибкой, она возвращает значение HRESULT , указывающее на ошибку. Возможные значения включают, но не ограничиваются ими в следующей таблице. Список распространенных кодов ошибок см. в разделе "Общие значения HRESULT".
| Возврат кода или значения | Description |
|---|---|
|
Объект запроса сертификата уже инициализирован. |
Замечания
Метод InitializeDecode декодирует существующий запрос PKCS #10 и использует сведения, полученные для инициализации следующих коллекций для нового объекта запроса:
- Пустая коллекция ICryptAttributes .
- Пустая коллекция IX509Extensions .
- Пустая коллекция IObjectIds для атрибутов и расширений OID, которые будут подавляться из нового запроса.
Метод также:
- Добавляет декодированные расширения в коллекцию IX509Extensions .
- Добавляет декодированные атрибуты в коллекцию ICryptAttributes .
- Задает свойство CriticalExtensions с декодированных критических расширений.
- Задает свойство ClientId .
- Задает свойство TemplateObjectId .
По умолчанию метод InitializeDecode предполагает, что декодирование запроса сертификата предназначено для конечного пользователя. Начиная с Windows 8 и Windows Server 2012, вы можете изменить это поведение по умолчанию. После создания экземпляра интерфейса IX509CertificateRequestPkcs10 вызовите InitializeDecode , задав параметр кодированиядля XCN_CRYPT_STRING_BINARY и параметр strEncodedData одним из следующих значений:
| Ценность | Description |
|---|---|
| L"ContextMachine" | Кодированный запрос сертификата предназначен для компьютера. |
| L"ContextUser" | Запрос на сертификат в кодировке предназначен для конечного пользователя. |
| L"ContextAdministratorForceMachine" | Закодированный сертификат запрашивается администратором от имени компьютера. |
Затем снова вызовите метод InitializeDecode с закодированным сертификатом, заданным в аргументе strEncodedData .
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows Vista [только классические приложения] |
| минимальный поддерживаемый сервер | Windows Server 2008 [только классические приложения] |
| целевая платформа | Виндоус |
| Header | certenroll.h |
| DLL | CertEnroll.dll |