BCRYPT_OID_LIST 结构 (bcrypt.h)

BCRYPT_OID_LIST 结构用于包含BCRYPT_OID结构的集合。 将此结构与 BCRYPT_HASH_OID_LIST 属性一起使用,可检索已使用 可辨别编码规则 (DER) 编码 (OID) 的哈希对象标识符列表。

语法

typedef struct _BCRYPT_OID_LIST {
  ULONG      dwOIDCount;
  BCRYPT_OID *pOIDs;
} BCRYPT_OID_LIST;

成员

dwOIDCount

pOID 数组中的元素数。

pOIDs

包含 OID 的 BCRYPT_OID 结构的数组的地址。

注解

pOID 数组中的第一个 OID 用于标识由此算法提供程序创建的任何哈希或签名。 验证哈希或签名时,数组中的所有 OID 都被视为有效。

在 Microsoft 基元提供程序实现中, dwOIDCount 为 2,因此 pOID 数组 包含两个成员:

  • pOIDs[0] 包含带 NULL 参数的 DER 编码 AlgorithmIdentifier
  • pOIDs[1] 包含不带 NULL 参数的 DER 编码 AlgorithmIdentifier
例如,SHA-1 编码为:
  • pOIDs[0] --> 06 05 2b 0e 03 02 1a 05 00
  • pOIDs[1] --> 06 05 2b 0e 03 02 1a

以下代码片段介绍了 Abstract Syntax Notation One (ASN.1) 表示法中的 AlgorithmIdentifierSEQUENCEOBJECT IDENTIFIERANY 已进行 DER 编码。 ANY BLOB 为 NULL

AlgorithmIdentifier ::= SEQUENCE {
   algorithm            OBJECT IDENTIFIER,
   algorithmParams      ANY
}

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 bcrypt.h

另请参阅

BCRYPT_OID

BCryptGetProperty

加密基元属性标识符