Метод IX509CertificateRequest::Encode (certenroll.h)
Метод Encode подписывает и кодирует запрос сертификата и создает пару ключей, если она не существует. Запрос кодируется с помощью Distinguished Encoding Rules (DER) в соответствии со стандартом абстрактной синтаксической нотации 1 (ASN.1). Процесс кодирования создает массив байтов. Массив байтов можно получить, вызвав свойство RawData .
Синтаксис
HRESULT Encode();
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Возвращаемый код или значение | Описание |
---|---|
|
Свойство ArchivePrivateKey задано для запроса CMC, но не удалось найти сертификат обмена ключами. |
|
Объект не инициализирован. |
Комментарии
Для запроса PKCS #10 этот метод:
- Обновления закрытый ключ или при необходимости создает ключ.
- Заполняет открытый ключ из закрытого ключа.
- Обновления расширения, добавляя расширения по умолчанию и принимая во внимание подавленную коллекцию OID и критически важные коллекции OID расширений.
- Обновления атрибуты, добавляя атрибуты по умолчанию и принимая во внимание подавленную коллекцию OID.
- Собирает и кодирует обновленный запрос без знака.
- Создает и кодирует сигнатуру.
- Кодирует подпись и неподписанный запрос.
Для запроса CMC этот метод:
- Кодирует все внутренние объекты запроса.
- Обновления расширения для внешнего объекта запроса, добавляя все расширения по умолчанию и принимая во внимание подавляемую коллекцию OID и критически важные коллекции OID расширений.
- Обновления атрибуты для внешнего объекта запроса, добавляя атрибуты по умолчанию и принимая во внимание подавленную коллекцию OID.
- Обновления коллекцию пар "имя-значение".
- Кодирует содержимое CMC, состоящее из закодированного внутреннего запроса и обновленного внешнего запроса.
- Создает и кодирует подпись для каждого сертификата подписи.
- Создает и кодирует основную сигнатуру.
- Собирает закодированное содержимое CMC (включая внутренний запрос и обновленный внешний запрос) и закодированные подписи.
- Кодирует собранное содержимое в сообщение PKCS 7.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |