CRYPT_VERIFY_MESSAGE_PARA構造体 (wincrypt.h)
CRYPT_VERIFY_MESSAGE_PARA構造体には、署名されたメッセージを確認するために必要な情報が含まれています。
構文
typedef struct _CRYPT_VERIFY_MESSAGE_PARA {
DWORD cbSize;
DWORD dwMsgAndCertEncodingType;
HCRYPTPROV_LEGACY hCryptProv;
PFN_CRYPT_GET_SIGNER_CERTIFICATE pfnGetSignerCertificate;
void *pvGetArg;
PCCERT_STRONG_SIGN_PARA pStrongSignPara;
} CRYPT_VERIFY_MESSAGE_PARA, *PCRYPT_VERIFY_MESSAGE_PARA;
メンバー
cbSize
この構造体のサイズ (バイト単位)。
dwMsgAndCertEncodingType
使用されるエンコードの種類。 次の例に示すように、証明書と メッセージエンコードの両方の種類 をビットごとの OR 操作と組み合わせて指定することは、常に許容されます。
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING
現在定義されているエンコードの種類は次のとおりです。
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
hCryptProv
このメンバーは使用されず、 NULL に設定する必要があります。
Windows Server 2003 および Windows XP: 署名されたメッセージの検証に使用される 暗号化サービス プロバイダー へのハンドル。 このハンドルによって識別される CSP は、 ハッシュ と署名の検証に使用されます。特定の暗号化プロバイダーを使用する強い理由がない限り、既定の RSA または DSS プロバイダーを使用するには 0 に設定します。
このメンバーのデータ型は HCRYPTPROV です。
pfnGetSignerCertificate
署名者の証明書 コンテキストを取得するために使用されるコールバック関数へのポインター。 NULL の場合、既定のコールバックが使用されます。 既定のコールバックは、メッセージの証明書ストアから署名者証明書コンテキストの取得を試みます。
署名者の証明書を取得するアプリケーション定義コールバック関数は、既定値の代わりに使用できます。 署名者の証明書識別子 (発行者とシリアル番号) と、暗号化署名されたメッセージの証明書ストアへのハンドルが渡されます。
コールバック関数のシグネチャと引数については、「 CryptGetSignerCertificateCallback 」を参照してください。
pvGetArg
コールバック関数に渡す引数。 通常、これはメッセージ署名者の証明書を取得して検証します。
pStrongSignPara
強力な署名に使用されるパラメーターを含む CERT_STRONG_SIGN_PARA 構造体への省略可能なポインター。 このメンバーを設定し、関数がシグネチャを正常に検証すると、関数は強力なシグネチャをチェックします。 シグネチャが厳密でない場合、操作は失敗し、 GetLastError 値を NTE_BAD_ALGIDに設定します。
注釈
この構造体は、次の関数に渡されます。
- CryptDecodeMessage
- CryptDecryptAndVerifyMessageSignature
- CryptVerifyDetachedMessageSignature
- CryptVerifyMessageSignature
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | wincrypt.h |
こちらもご覧ください
CryptDecryptAndVerifyMessageSignature