共用方式為


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

指定使用的訊息和憑證編碼類型。 這可以是下列一或多個值的組合。

意義
X509_ASN_ENCODING
指定 X.509 憑證編碼。
PKCS_7_ASN_ENCODING
指定 PKCS 7 訊息編碼。

DUMMYUNIONNAME

DUMMYUNIONNAME.hCryptProv

用來簽署訊息的 CSP 句柄。 呼叫 CryptAcquireContext 函式以取得這個句柄。

DUMMYUNIONNAME.hNCryptKey

密碼編譯 API 的句柄:新一代 (CNG) CSP 用來簽署訊息。 CNG 簽章演算法僅在 CNG 函式中受到支援。

dwKeySpec

識別用來簽署訊息的 私鑰 類型。 這必須是下列其中一個值。 如果在 hNCryptKey 成員中傳遞 CNG 金鑰,則會忽略此成員。

意義
AT_KEYEXCHANGE
使用金鑰交換金鑰。
AT_SIGNATURE
使用數位簽名金鑰。

HashAlgorithm

CRYPT_ALGORITHM_IDENTIFIER 結構,指定要用來產生訊息哈希的演算法。 這必須是哈希演算法。

pvHashAuxInfo

未使用這個成員,而且必須設定為 NULL

PubKeyAlgorithm

CRYPT_ALGORITHM_IDENTIFIER 結構,指定要用來簽署訊息的演算法。 這必須是公鑰或簽章演算法。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 wincrypt.h