Share via


A version of this page is also available for

Windows Embedded CE 6.0 R3


This structure, also known as the BLOBHEADER structure, indicates a key's BLOB (Cryptography) type and the algorithm that the key uses. It is located at the beginning of the pbData member of every key BLOB.

This structure is not limited to the key BLOB structures generated by the PROV_RSA_BASE and PROV_RSA_SIG provider types. The pbData of any new key BLOB structure type must begin with this structure.


typedef struct _PUBLICKEYSTRUC {
  BYTE bType;
  BYTE bVersion;
  WORD reserved;
  ALG_ID aiKeyAlg;


  • bType
    Key BLOB type. The only BLOB types currently defined are PUBLICKEYBLOB, PRIVATEKEYBLOB, and SIMPLEBLOB. Other key BLOB types will be defined as needed.

    PUBLICKEYBLOB types are used to transport public keys, PRIVATEKEYBLOBs are used to transport public/private key pairs, and SIMPLEBLOBs are used to transport session keys.

  • bVersion
    Version number of the key BLOB format. This member currently must always have a value of 0x02.
  • reserved
    DWORD reserved for future use. This member must be set to zero.
  • aiKeyAlg
    Algorithm identifier for the key contained by the key BLOB structure. Some examples are CALG_RSA_SIGN, CALG_RSA_KEYX, CALG_RC2, and CALG_RC4.

    Not all algorithm identifiers are valid with all BLOB types. For example, because an RC4 key is a session key, it cannot be exported into a PUBLICKEYBLOB.


Header wincrypt.h
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also


BLOB (Cryptography)