BCRYPT_OID_LIST 構造体 (bcrypt.h)

BCRYPT_OID_LIST構造体は、BCRYPT_OID構造体のコレクションを格納するために使用されます。 この構造体を BCRYPT_HASH_OID_LIST プロパティと共に使用して、Distinguished Encoding Rules (DER) エンコードを使用してエンコードされたハッシュ オブジェクト識別子 (OID) の一覧を取得します。

構文

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

メンバー

dwOIDCount

p OID 配列内の要素の数。

pOIDs

OID を含む BCRYPT_OID 構造体の配列のアドレス。

注釈

pOIDs 配列の最初の OID は、このアルゴリズム プロバイダーによって作成されたハッシュまたは署名を識別するために使用されます。 ハッシュまたは署名を検証すると、配列内のすべての OID が有効として扱われます。

Microsoft プリミティブ プロバイダーの実装では、 dwOIDCount は 2 であるため、 pOIDs 配列には次の 2 つのメンバーが含まれます。

  • 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) 表記の AlgorithmIdentifier について説明します。 SEQUENCEOBJECT IDENTIFIERおよび ANY は DER でエンコードされます。 ANY BLOB が NULL です

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

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header bcrypt.h

こちらもご覧ください

BCRYPT_OID

BCryptGetProperty

Cryptography Primitive プロパティ識別子