BCRYPT_OID_LIST Structure

The BCRYPT_OID_LIST structure is used to contain a collection of BCRYPT_OID structures. Use this structure with the BCRYPT_HASH_OID_LIST property to retrieve the list of hashing object identifiers (OIDs) that have been encoded by using Distinguished Encoding Rules (DER) encoding.

Syntax

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

Members

dwOIDCount
The number of elements in the pOIDs array.

pOIDs
The address of an array of BCRYPT_OID structures that contains OIDs.

Remarks

The first OID in the pOIDs array is used to identify any hashes or signatures created by this algorithm provider. When verifying a hash or signature, all the OIDs in the array are treated as valid.
In the Microsoft Primitive Provider implementation, dwOIDCount is 2, so that the pOIDs array contains two members:

For example, the SHA-1 encoding would be:

Example

The following snippet describes an AlgorithmIdentifier in Abstract Syntax Notation One (ASN.1) notation. SEQUENCE, OBJECT IDENTIFIER, and ANY are DER encoded. The ANY BLOB is NULL.

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

Requirements

Header: Declared in bcrypt.h.

Library: Use bcrypt.lib.