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


Метод IX509Enrollment::CreatePFX (certenroll.h)

Метод CreatePFX создает сообщение обмена личной информацией (PFX). Сообщение содержится в массиве байтов, закодированном с помощью Distinguished Encoding Rules (DER), как определено в стандарте ASN.1. Массив байтов в кодировке DER представлен строкой, которая является либо чистой двоичной последовательностью, либо кодировкой Юникода.

Синтаксис

HRESULT CreatePFX(
  [in]  BSTR             strPassword,
  [in]  PFXExportOptions ExportOptions,
  [in]  EncodingType     Encoding,
  [out] BSTR             *pValue
);

Параметры

[in] strPassword

Переменная BSTR , содержащая пароль для сообщения PFX. Это значение может иметь значение NULL , чтобы указать, что пароль не используется. Завершив использование пароля, очистите его из памяти, вызвав функцию SecureZeroMemory . Дополнительные сведения о защите пароля см. в разделе Обработка паролей.

[in] ExportOptions

Значение перечисления PFXExportOptions , указывающее, какая часть цепочки сертификатов экспортируется. Вы можете экспортировать только сертификат, цепочку сертификатов без корневого каталога или всю цепочку.

[in] Encoding

Значение перечисления EncodingType , указывающее тип кодировки Юникода, применяемой к сообщению в кодировке DER. Значение по умолчанию — XCN_CRYPT_STRING_BASE64.

[out] pValue

Указатель на переменную BSTR , содержащую сообщение PFX в кодировке DER.

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

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

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

Возвращаемый код/значение Описание
CERTSRV_E_PROPERTY_EMPTY
Не удается найти сертификат.
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
Цепочка сертификатов не найдена.
OLE_E_BLANK
Объект регистрации не инициализирован.

Комментарии

Формат PFX также называется PKCS 12. Метод CreatePFX :

  • Открывает хранилище сертификатов в памяти для поставщика по умолчанию.
  • Добавляет установленный сертификат в хранилище или создает цепочку сертификатов, добавляет к нему ссылку.
  • Экспортирует сертификат и закрытый ключ в сообщение PFX в зависимости от указанных параметров экспорта.
  • Кодирует экспортированное сообщение с помощью DER.

Перед вызовом этого метода необходимо инициализировать объект IX509Enrollment , вызвав один из следующих методов.

Кроме того, необходимо успешно вернуться из метода Enroll .

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header certenroll.h
DLL CertEnroll.dll

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

IX509Enrollment