функция обратного вызова PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC (wincrypt.h)
Функция обратного вызова PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC вызывается CryptExportPublicKeyInfoEx для экспорта большого двоичного объекта открытого ключа и его кодирования.
Синтаксис
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC PfnCryptExportPublicKeyInfoEx2Func;
BOOL PfnCryptExportPublicKeyInfoEx2Func(
[in] NCRYPT_KEY_HANDLE hNCryptKey,
[in] DWORD dwCertEncodingType,
[in] LPSTR pszPublicKeyObjId,
[in] DWORD dwFlags,
[in, optional] void *pvAuxInfo,
[out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
[in, out] DWORD *pcbInfo
)
{...}
Параметры
[in] hNCryptKey
Дескриптор поставщика служб шифрования (CSP), используемый при экспорте сведений об открытом ключе. Этот дескриптор должен быть дескриптором NCRYPT_KEY_HANDLE , который был создан с помощью функции NCryptOpenKey .
[in] dwCertEncodingType
Значение типа , указывающее используемый тип кодирования. Всегда допустимо указывать типы кодирования сертификатов и сообщений, объединяя их с побитовой операцией ИЛИ , как показано в следующем примере:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
В настоящее время определены следующие типы кодирования:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pszPublicKeyObjId
Указатель на строку, содержащую алгоритм открытого ключа.
[in] dwFlags
Значение типа , указывающее, как экспортируются сведения об открытом ключе. Это может быть ноль.
[in, optional] pvAuxInfo
Этот параметр зарезервирован для использования в будущем и должен иметь значение NULL.
[out, optional] pInfo
Указатель на структуру CERT_PUBLIC_KEY_INFO для получения сведений открытого ключа для экспорта.
Этот параметр может иметь значение NULL , чтобы задать размер этих сведений для целей выделения памяти. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.
[in, out] pcbInfo
Указатель на DWORD , содержащий размер (в байтах) буфера, на который указывает параметр pInfo . При возврате функции DWORD содержит количество байтов, хранящихся в буфере.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение не равно нулю (TRUE).
Если функция завершается ошибкой, возвращаемое значение равно нулю (FALSE). Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.
Если эта функция обратного вызова не поддерживает алгоритм подписи, она должна возвращать значение FALSE и вызывать Метод SetLastError с ERROR_NOT_SUPPORTED.
Комментарии
Для развертывания этой функции обратного вызова можно использовать функции поддержки OID . Для этой цели Wincrypt.h определяет следующую константу.
Константа | Определение |
---|---|
CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC | "CryptDllExportPublicKeyInfoEx2" |
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |