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

Метод CreatePFX создает сообщение "Обмен персональными данными" (PFX). Сообщение содержится в массиве байтов, закодированном с помощью правил различаемой кодировки (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

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

[out] pValue

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

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

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

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

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

Замечания

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

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

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

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

Требования

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

См. также

IX509Enrollment