Win32 API 日本語リファレンス
ホーム › Security.Cryptography › PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC

PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC

コールバック

シグネチャ

BOOL PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC(
    CERT_QUERY_ENCODING_TYPE dwCertEncodingType,
    CRYPT_ALGORITHM_IDENTIFIER* pSignatureAlgorithm,
    void** ppvDecodedSignPara,
    LPWSTR* ppwszCNGHashAlgid
);

パラメーター

フィールド型説明
dwCertEncodingTypeCERT_QUERY_ENCODING_TYPE

使用するエンコードの種類を指定します。次の例のように、証明書のエンコードの種類とメッセージのエンコードの種類をビットごとの OR 演算で組み合わせて指定することは、常に許容されます。

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING 現在定義されているエンコードの種類は次のとおりです。

pSignatureAlgorithmCRYPT_ALGORITHM_IDENTIFIER*

署名のオブジェクト識別子 (OID) と、その省略可能なエンコードされたパラメーターを格納する CRYPT_ALGORITHM_IDENTIFIER 構造体へのポインターです。

- **ppvDecodedSignPara [out, optional]

デコードされて割り当てられた署名パラメーターのデータ構造体のアドレスへのポインターです。デコードされたバッファーを返すことは省略可能です。

ppvDecodedSignParavoid**デコードされて割り当てられた署名パラメーターのデータ構造体のアドレスへのポインターです。デコードされたバッファーを返すことは省略可能です。
ppwszCNGHashAlgidLPWSTR*エンコードされた署名パラメーターから抽出された CNG ハッシュアルゴリズム識別子を表す、割り当て済みの Unicode 文字列のアドレスへのポインターです。この関数が TRUE を返す場合は、NULL 以外のポインターを返す必要があります。

公式ドキュメント

署名にエンコードされたパラメーターが含まれている場合、ハッシュアルゴリズム識別子と、必要に応じて署名パラメーターをデコードして返すために PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC コールバック関数が呼び出されます。

戻り値

関数が成功した場合は、0 以外の値 (TRUE) を返します。

関数が失敗した場合は、0 (FALSE) を返します。拡張エラー情報を取得するには、GetLastError を呼び出します。

このコールバック関数が対象の署名アルゴリズムをサポートしていない場合は、FALSE を返し、ERROR_NOT_SUPPORTED を指定して SetLastError を呼び出す必要があります。

解説(Remarks)

ppvDecodedSignPara パラメーターと ppwszCNGHashAlgid パラメーターのメモリは、LocalAlloc 関数を使用して割り当てる必要があります。

このコールバック関数を配置するには、OID サポート関数を使用できます。Wincrypt.h では、この目的のために次の定数が定義されています。

定数 定義
CRYPT_OID_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC "CryptDllExtractEncodedSignatureParameters"
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)