BCRYPT_ECCKEY_BLOB 结构是 Windows Cryptography API Next Generation (CNG) 中用于表示椭圆曲线密钥的结构。以下是该结构的定义:
typedef struct _BCRYPT_ECCKEY_BLOB {
  ULONG  dwMagic;
  ULONG  cbKey;
} BCRYPT_ECCKEY_BLOB, *PBCRYPT_ECCKEY_BLOB;

结构成员说明:

  •  dwMagic:一个标识密钥类型的值,通常是 BCRYPT_ECDH_PUBLIC_P256_MAGIC、BCRYPT_ECDH_PRIVATE_P256_MAGIC、BCRYPT_ECDSA_PUBLIC_P256_MAGIC、BCRYPT_ECDSA_PRIVATE_P256_MAGIC 等。

  •  cbKey:密钥数据的大小,以字节为单位。


这个结构主要用于导入和导出椭圆曲线密钥。你可以使用相关的函数,如 BCryptExportKey 和 BCryptImportKeyPair,来将椭圆曲线密钥导出为这种结构或从这种结构导入密钥。

以下是一些可能的 dwMagic 值,对应不同类型的椭圆曲线密钥:

  •  BCRYPT_ECDH_PUBLIC_P256_MAGIC:ECDH 公钥,使用 P-256 椭圆曲线。

  •  BCRYPT_ECDH_PRIVATE_P256_MAGIC:ECDH 私钥,使用 P-256 椭圆曲线。

  •  BCRYPT_ECDSA_PUBLIC_P256_MAGIC:ECDSA 公钥,使用 P-256 椭圆曲线。

  •  BCRYPT_ECDSA_PRIVATE_P256_MAGIC:ECDSA 私钥,使用 P-256 椭圆曲线。


这些标识符指示密钥类型和相关的算法。使用这些结构需要注意密钥的合法性,以及在导入和导出时的正确使用方法。




转载请注明出处:http://www.zyzy.cn/article/detail/24016/Win32 API/Bcrypt.h/BCRYPT_ECCKEY_BLOB