Поделиться через


Структура BLOBHEADER (wincrypt.h)

Структура PUBLICKEYSTRUC , также известная как структура BLOBHEADER , указывает тип BLOB ключа и алгоритм, который использует ключ. Одна из этих структур находится в начале элемента pbData каждого ключа BLOB.

Эта структура не ограничивается ключевыми BLOB-объектами, созданными типами поставщиков PROV_RSA_BASE и PROV_RSA_SIG. Элемент pbData любого нового типа ключа BLOB должен начинаться с этой структуры.

Синтаксис

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 является ключом стандарта цифровой подписи (DSS) версии 3, этот элемент будет содержать 3. Минимальное значение этого элемента определяется идентификатором CUR_BLOB_VERSION (2).

reserved

Этот элемент зарезервирован для использования в будущем и должен иметь нулевое значение.

aiKeyAlg

Содержит одно из ALG_ID значений, определяющих алгоритм ключа, содержащегося в большом двоичном объекте ключа.

Не все идентификаторы алгоритма допустимы для всех типов BLOB. Например, так как ключ RC4 является ключом сеанса, его нельзя экспортировать в PUBLICKEYBLOB.

PLAINTEXTBLOB можно использовать с любым алгоритмом или типом сочетания ключей, поддерживаемых используемым поставщиком служб CSP. Обратите внимание, что ключ 3DES невозможно импортировать, если используется базовый поставщик Майкрософт.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть wincrypt.h

См. также раздел

DSSPUBKEY

DSSSEED

RSAPUBKEY