BLOBHEADER 構造体 (wincrypt.h)

PUBLICKEYSTRUC 構造体 (BLOBHEADER 構造体とも呼ばれます) は、キーの BLOB 型と、キーが使用するアルゴリズムを示します。 これらの構造体の 1 つは、すべてのキー 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 が Digital Signature Standard (DSS) バージョン 3 キーの場合、このメンバーには 3 が含まれます。 このメンバーの最小値は、 CUR_BLOB_VERSION (2) 識別子によって定義されます。

reserved

このメンバーは将来使用するために予約されており、0 に設定する必要があります。

aiKeyAlg

キー BLOB に含まれるキーのアルゴリズムを識別する ALG_ID 値のいずれかが含まれます。

すべてのアルゴリズム識別子が、すべての BLOB 型で有効なわけではありません。 たとえば、RC4 キーはセッション キーであるため、PUBLICKEYBLOB にエクスポートすることはできません。

PLAINTEXTBLOB は、使用中の CSP でサポートされている任意のアルゴリズムまたは種類のキーの組み合わせで使用できます。 Microsoft Base Provider が使用されている場合、3DES キーをインポートできないことに注意してください。

要件

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

こちらもご覧ください

DSSPUBKEY

DSSSEED

RSAPUBKEY