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に設定します。

メモpStrongSignPara メンバーは、Wincrypt.h を含む前に #define ディレクティブを使用してCRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDSが定義されている場合にのみ使用できます。 CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDSが定義されている場合は、未使用のフィールドをすべてゼロにする必要があります。
 
Windows 8とWindows Server 2012: このメンバーのサポートが開始されます。

注釈

この構造体は、次の関数に渡されます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header wincrypt.h

こちらもご覧ください

CERT_CONTEXT

CERT_INFO

CryptDecryptAndVerifyMessageSignature

CryptVerifyDetachedMessageSignature

CryptVerifyMessageSignature