PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC コールバック関数 (wincrypt.h)
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC コールバック関数は、公開キー BLOB をエクスポートしてエンコードするために、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) のハンドル。 このハンドルは、NCryptOpenKey 関数を使用して作成されたNCRYPT_KEY_HANDLE ハンドルである必要があります。
[in] dwCertEncodingType
使用するエンコードの種類を示す 値。 次の例に示すように、証明書と メッセージエンコードの両方の種類 をビットごとの OR 操作と組み合わせて指定することは、常に許容されます。
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING
現在定義されているエンコードの種類は次のとおりです。
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pszPublicKeyObjId
公開キー アルゴリズムを含む文字列へのポインター。
[in] dwFlags
公開キー情報のエクスポート方法を示す 値。 これは 0 にすることができます。
[in, optional] pvAuxInfo
このパラメーターは将来使用するために予約されており、 NULL に設定する必要があります。
[out, optional] pInfo
エクスポートする公開キー情報を受け取る CERT_PUBLIC_KEY_INFO 構造体へのポインター。
このパラメーターは、メモリ割り当て目的でこの情報のサイズを設定するために NULL にすることができます 。 詳細については、「不明な 長さのデータの取得」を参照してください。
[in, out] pcbInfo
pInfo パラメーターによって指されるバッファーのサイズ (バイト単位) を含む DWORD へのポインター。 関数が戻るときに、 DWORD にはバッファーに格納されているバイト数が含まれます。
戻り値
関数が成功した場合、戻り値は 0 以外 (TRUE) になります。
関数が失敗した場合、戻り値は 0 (FALSE) になります。 拡張エラー情報については、 GetLastError を呼び出します。
このコールバック関数がシグネチャ アルゴリズムをサポートしていない場合は、FALSE を返し、ERROR_NOT_SUPPORTEDを使用して SetLastError を呼び出す必要があります。
解説
OID サポート関数を使用して、このコールバック関数を展開できます。 Wincrypt.h は、この目的のために次の定数を定義します。
常時 | 定義 |
---|---|
CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC | "CryptDllExportPublicKeyInfoEx2" |
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |