Метод 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 (поставщика служб шифрования), этот аргумент указывает, как импортировать закрытый ключ. Это может быть следующее значение.
Значение | Значение |
---|---|
|
Импортирует весь закрытый ключ. |
[in] strEncodedKey
Переменная BSTR , содержащая импортируемый ключ.
[in] Encoding
Значение перечисления EncodingType , указывающее тип кодировки Юникода, применяемой к строке, содержащейся в параметре strEncodedKey . Значение по умолчанию — XCN_CRYPT_STRING_BASE64.
Возвращаемое значение
Если функция завершается успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Код возврата | Описание |
---|---|
|
Контейнер ключей уже открыт. Эта ошибка может возникнуть, если вы уже вызвали команду Открыть или Создать. |
|
Ключ был создан поставщиком 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 |