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


Метод IX509PrivateKey::Import (certenroll.h)

Метод Import импортирует существующий закрытый ключ в контейнер ключей в поставщике шифрования.

Синтаксис

HRESULT Import(
  [in] BSTR         strExportType,
  [in] BSTR         strEncodedKey,
  [in] EncodingType Encoding
);

Параметры

[in] strExportType

Если ключ был создан с помощью CNG KSP (поставщика хранилища ключей), метод Import передает этот аргумент в параметр pszProperty функции NCryptSetProperty . То есть указанное значение будет использоваться в качестве имени свойства, устанавливаемого в импортированном ключе.

Если ключ был создан с помощью CSP CryptoAPI (поставщика служб шифрования), этот аргумент указывает, как импортировать закрытый ключ. Это может быть следующее значение.

Значение Значение
BCRYPT_PRIVATE_KEY_BLOB
Импортирует весь закрытый ключ.

[in] strEncodedKey

Переменная BSTR , содержащая импортируемый ключ.

[in] Encoding

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

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

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

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

Код возврата Описание
HRESULT_FROM_WIN32(ERROR_FILE_READ_ONLY)
Контейнер ключей уже открыт. Эта ошибка может возникнуть, если вы уже вызвали команду Открыть или Создать.
HRESULT_FROM_WIN32(ERROR_CALL_NOT_IMPLEMENTED)
Ключ был создан поставщиком CSP CryptoAPI, и вы указали значение, отличное от BCRYPT_PRIVATE_KEY_BLOB для параметра strExportType .

Комментарии

Функция Import автоматически предполагает, что вы пытаетесь импортировать ключ KSP CNG, если для параметра strExportType задано значение, отличное от BCRYPT_PRIVATE_KEY_BLOB, и не задано ни одно из следующих свойств:

Требования

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

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

IX509PrivateKey