ICryptAttribute interface (certenroll.h)

The ICryptAttribute interface represents a cryptographic attribute in a certificate request. A collection of these attributes is contained in the CertificateRequestInfo structure of a PKCS #10 request as shown by the following example syntax.


CertificationRequestInfo ::= SEQUENCE 
{
   version                 CertificationRequestInfoVersion,
   subject                 ANY, 
   subjectPublicKeyInfo    SubjectPublicKeyInfo,
   attributes              [0] IMPLICIT Attributes
}

Attributes ::= SET OF Attribute

Attribute ::= SEQUENCE 
{
   type       EncodedObjectID,
   values     AttributeSetValue
}

AttributeSetValue ::= SET OF ANY

A single ICryptAttribute object corresponds to the attributes collection in the request. The ICryptAttribute object in turn contains a collection of IX509Attribute objects. Each attribute in this collection contains an object identifier and one or more values. Each value is an encoded Abstract Syntax Notation One (ASN.1) structure. Zero or more of the following objects can be included in the collection:

Inheritance

The ICryptAttribute interface inherits from the IDispatch interface. ICryptAttribute also has these types of members:

Methods

The ICryptAttribute interface has these methods.

 
ICryptAttribute::get_ObjectId

Retrieves the object identifier (OID) for the attribute. (ICryptAttribute.get_ObjectId)
ICryptAttribute::get_Values

Retrieves an IX509Attributes object that contains a collection of attributes.
ICryptAttribute::InitializeFromObjectId

Initializes a cryptographic attribute by using an object identifier.
ICryptAttribute::InitializeFromValues

Initializes a cryptographic attribute by using an IX509Attributes object.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header certenroll.h

See also

ICryptAttribute

ICryptAttributes

IDispatch

IX509Attribute

IX509Attributes