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

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

Синтаксис

HRESULT Encode();

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

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

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

Возврат кода или значения Description
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 [только классические приложения]
целевая платформа Виндоус
Header certenroll.h
DLL CertEnroll.dll

См. также

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation