PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC コールバック関数 (wincrypt.h)
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNCコールバック関数が呼び出され、エンコードされた署名の暗号化が解除され、計算されたハッシュと比較されます。
構文
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC PfnCryptVerifyEncodedSignatureFunc;
BOOL PfnCryptVerifyEncodedSignatureFunc(
[in] DWORD dwCertEncodingType,
[in] PCERT_PUBLIC_KEY_INFO pPubKeyInfo,
[in] PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
[in, optional] void *pvDecodedSignPara,
[in] LPCWSTR pwszCNGPubKeyAlgid,
[in] LPCWSTR pwszCNGHashAlgid,
[in] BYTE *pbComputedHash,
[in] DWORD cbComputedHash,
[in] BYTE *pbSignature,
[in] DWORD cbSignature
)
{...}
パラメーター
[in] dwCertEncodingType
使用するエンコードの種類を指定します。 次の例に示すように、証明書と メッセージエンコードの両方の種類 をビットごとの OR 操作と組み合わせて指定することは、常に許容されます。
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING 現在定義されているエンコードの種類は次のとおりです。
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pPubKeyInfo
署名の検証に使用する公開キーを含むCERT_PUBLIC_KEY_INFO構造体のアドレス。 これを CryptImportPublicKeyInfoEx2 と共に使用して 、BCRYPT_KEY_HANDLEを取得できます。
[in] pSignatureAlgorithm
署名オブジェクト識別子 (OID) とそのオプションのエンコードされたパラメーターを含むCRYPT_ALGORITHM_IDENTIFIER構造体へのポインター。
[in, optional] pvDecodedSignPara
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC関数によって以前に返されたデコードされたシグネチャ パラメーター データ構造への省略可能 な ポインター。
[in] pwszCNGPubKeyAlgid
pSignatureAlgorithm-pszObjId> に対応する Cryptography API: Next Generation (CNG) 公開キー アルゴリズム識別子を含む Unicode 文字列。
[in] pwszCNGHashAlgid
pSignatureAlgorithm-pszObjId> または pvDecodedSignPara のハッシュ アルゴリズム識別子に対応する CNG ハッシュ アルゴリズム識別子を含む Unicode 文字列。
[in] pbComputedHash
pwszCNGHashAlgid に対応する BCryptFinishHash 関数によって返される計算されたハッシュ バイトへのポインター。
[in] cbComputedHash
計算されたハッシュの長さをバイト単位で表す 値。
[in] pbSignature
エンコードされた署名バイトへのポインター。
[in] cbSignature
エンコードされた署名の長さをバイト単位で表す 値。
戻り値
関数が成功した場合、関数は 0 以外 (TRUE) を返します。
関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。
このコールバック関数がシグネチャ アルゴリズムをサポートしていない場合は、FALSE を返し、ERROR_NOT_SUPPORTEDを使用して SetLastError を呼び出す必要があります。
注釈
OID サポート関数を使用して、このコールバック関数を展開できます。 Wincrypt.h は、この目的のために次の定数を定義します。
常時 | 定義 |
---|---|
CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC | "CryptDllVerifyEncodedSignature" |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |