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


Метод IX509CertificateRequest::Encode (certenroll.h)

Метод Encode подписывает и кодирует запрос сертификата и создает пару ключей, если она не существует. Запрос кодируется с помощью Distinguished Encoding Rules (DER) в соответствии со стандартом абстрактной синтаксической нотации 1 (ASN.1). Процесс кодирования создает массив байтов. Массив байтов можно получить, вызвав свойство RawData .

Синтаксис

HRESULT Encode();

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

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

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

Возвращаемый код или значение Описание
CERTSRV_E_ARCHIVED_KEY_REQUIRED
Свойство ArchivePrivateKey задано для запроса CMC, но не удалось найти сертификат обмена ключами.
OLE_E_BLANK
Объект не инициализирован.

Комментарии

Для запроса 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

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

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation