PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC コールバック関数 (wincrypt.h)
シグネチャにエンコードされたパラメーターが含まれている場合は、ハッシュ アルゴリズム識別子と必要に応じてシグネチャ パラメーターをデコードして返すために、 PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC コールバック関数が呼び出されます。
構文
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC PfnCryptExtractEncodedSignatureParametersFunc;
BOOL PfnCryptExtractEncodedSignatureParametersFunc(
[in] DWORD dwCertEncodingType,
[in] PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
[out, optional] void **ppvDecodedSignPara,
[out] LPWSTR *ppwszCNGHashAlgid
)
{...}
パラメーター
[in] dwCertEncodingType
使用するエンコードの種類を指定します。 次の例に示すように、証明書と メッセージエンコードの両方の種類 をビットごとの OR 操作と組み合わせて指定することは、常に許容されます。
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING 現在定義されているエンコードの種類は次のとおりです。
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pSignatureAlgorithm
署名オブジェクト識別子 (OID) とそのオプションのエンコードされたパラメーターを含むCRYPT_ALGORITHM_IDENTIFIER構造体へのポインター。
[out, optional] ppvDecodedSignPara
デコードおよび割り当てられた署名パラメーターのデータ構造のアドレスへのポインター。 デコードされたバッファーの返しは省略可能です。
[out] ppwszCNGHashAlgid
エンコードされた署名パラメーターから抽出された CNG ハッシュ アルゴリズム識別子を表す、割り当てられた Unicode 文字列のアドレスへのポインター。 この関数が TRUE を返す場合は、NULL 以外のポインターを返す必要があります。
戻り値
関数が成功した場合、関数は 0 以外 (TRUE) を返します。
関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。
このコールバック関数がシグネチャ アルゴリズムをサポートしていない場合は、FALSE を返し、ERROR_NOT_SUPPORTEDを使用して SetLastError を呼び出す必要があります。
注釈
ppvDecodedSignPara パラメーターと ppwszCNGHashAlgid パラメーターのメモリは、LocalAlloc 関数を使用して割り当てる必要があります。
OID サポート関数を使用して、このコールバック関数を展開できます。 Wincrypt.h は、この目的のために次の定数を定義します。
常時 | 定義 |
---|---|
CRYPT_OID_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC | "CryptDllExtractEncodedSignatureParameters" |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |