CRYPT_KEY_SIGN_MESSAGE_PARA構造体 (wincrypt.h)

CRYPT_KEY_SIGN_MESSAGE_PARA構造には、メッセージの署名に使用される暗号化サービス プロバイダー (CSP) とアルゴリズムに関する情報が含まれています。

構文

typedef struct _CRYPT_KEY_SIGN_MESSAGE_PARA {
  DWORD                      cbSize;
  DWORD                      dwMsgAndCertEncodingType;
  union {
    HCRYPTPROV        hCryptProv;
    NCRYPT_KEY_HANDLE hNCryptKey;
  } DUMMYUNIONNAME;
  DWORD                      dwKeySpec;
  CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
  void                       *pvHashAuxInfo;
  CRYPT_ALGORITHM_IDENTIFIER PubKeyAlgorithm;
} CRYPT_KEY_SIGN_MESSAGE_PARA, *PCRYPT_KEY_SIGN_MESSAGE_PARA;

メンバー

cbSize

このデータ構造のサイズ (バイト単位)。

dwMsgAndCertEncodingType

使用されるメッセージと証明書のエンコードの種類を指定します。 これは、次の値の 1 つ以上の組み合わせにすることができます。

意味
X509_ASN_ENCODING
X.509 証明書のエンコードを指定します。
PKCS_7_ASN_ENCODING
PKCS 7 メッセージ エンコーディングを指定します。

DUMMYUNIONNAME

DUMMYUNIONNAME.hCryptProv

メッセージの署名に使用する CSP のハンドル。 このハンドルを取得するには、 CryptAcquireContext 関数が呼び出されます。

DUMMYUNIONNAME.hNCryptKey

メッセージの署名に使用する Cryptography API: Next Generation (CNG) CSP のハンドル。 CNG シグネチャ アルゴリズムは、CNG 関数でのみサポートされます。

dwKeySpec

メッセージの署名に使用する 秘密キー の種類を識別します。 これは、次のいずれかの値である必要があります。 CNG キーが hNCryptKey メンバーで渡された場合、このメンバーは無視されます。

意味
AT_KEYEXCHANGE
キー交換キーを使用します。
AT_SIGNATURE
デジタル署名キーを使用します。

HashAlgorithm

メッセージのハッシュの生成に使用するアルゴリズムを指定する CRYPT_ALGORITHM_IDENTIFIER 構造体。 これはハッシュ アルゴリズムである必要があります。

pvHashAuxInfo

このメンバーは使用されず、 NULL に設定する必要があります。

PubKeyAlgorithm

メッセージの署名に使用するアルゴリズムを指定する CRYPT_ALGORITHM_IDENTIFIER 構造体。 これは公開キーまたは署名アルゴリズムである必要があります。

要件

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