blobHEADER 結構 (wincrypt.h)

PUBLICKEYSTRUC 結構也稱為 BLOBHEADER 結構,表示密鑰的 BLOB 類型和密鑰使用的演算法。 其中一個結構位於每個金鑰 BLOBpbData 成員開頭。

此結構不限於PROV_RSA_BASE和PROV_RSA_SIG提供者類型所產生的密鑰 BLOB。 任何新金鑰 BLOB 類型的 pbData 成員都必須以這個結構開頭。

語法

typedef struct _PUBLICKEYSTRUC {
  BYTE   bType;
  BYTE   bVersion;
  WORD   reserved;
  ALG_ID aiKeyAlg;
} BLOBHEADER, PUBLICKEYSTRUC;

成員

bType

包含金鑰 BLOB 類型。

以下是這個成員的預先定義值。 (CSP) 的密碼編譯服務提供者可以視需要使用其他類型的標識碼。

意義
KEYSTATEBLOB
0xC
BLOB 是金鑰狀態 BLOB。
OPAQUEKEYBLOB
0x9
金鑰是會話金鑰。
PLAINTEXTKEYBLOB
0x8
金鑰是會話金鑰。
PRIVATEKEYBLOB
0x7
金鑰是 公開/私鑰組
PUBLICKEYBLOB
0x6
金鑰是公鑰。
PUBLICKEYBLOBEX
0xA
金鑰是公鑰。
SIMPLEBLOB
0x1
金鑰是會話金鑰。
SYMMETRICWRAPKEYBLOB
0xB
金鑰是對稱金鑰。

bVersion

包含金鑰 BLOB 格式的版本號碼。 例如,如果 BLOB 是 數位簽名標準 (DSS) 第 3 版金鑰,則此成員會包含 3。 這個成員的最小值是由 CUR_BLOB_VERSION (2) 標識碼所定義。

reserved

此成員保留供日後使用,且必須設定為零。

aiKeyAlg

包含其中一個 ALG_ID 值,可識別金鑰 BLOB 所包含密鑰的演算法。

並非所有演算法識別碼都與所有 BLOB 類型都有效。 例如,由於 RC4 金鑰是會話金鑰,因此無法匯出至 PUBLICKEYBLOB。

PLAINTEXTBLOB 可以搭配使用中 CSP 所支援的任何演算法或密鑰組合類型使用。 請注意,當 Microsoft 基底提供者正在使用時,無法匯入 3DES 金鑰。

規格需求

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

另請參閱

DSSPUBKEY

DSSSEED

RSAPUBKEY