ISmimeCapability interface (certenroll.h)

A collection of ISmimeCapability objects represents an SMIMECapabilities extension that identifies the decryption capabilities of an email recipient. The extension includes a collection of ISmimeCapability objects, each of which identifies a symmetric encryption algorithm supported by the client, and an optional bit length that indicates the relative strength of the algorithm. The following syntax shows the Abstract Syntax Notation One (ASN.1) structure of the extension. The extension is represented by an IX509ExtensionSmimeCapabilities interface.


----------------------------------------------------------------------
-- SMIMECapabilities
-- XCN_OID_RSA_SMIMECapabilities (1.2.840.113549.1.9.15)
----------------------------------------------------------------------

SMIMECapabilities ::= SEQUENCE OF SMIMECapability

SMIMECapability ::= SEQUENCE 
{
   capabilityID    EncodedObjectID,
   smimeParameters ANY OPTIONAL    
}

The extension is used to report the decryption capabilities of an email recipient to an email sender. This enables the sender to choose the most secure algorithm supported by both parties.

The optional bit length is used to identify the length of the encryption key used by algorithm. The key length is implicitly defined by the object identifier for the AES, DES, and 3DES algorithms, but it is variable for the RC2 and RC4 algorithms. If you specify a key length, it must be consistent with that supported by the cryptographic providers used by the client. For more information, see ICspInformation.

Inheritance

The ISmimeCapability interface inherits from the IUnknown interface. ISmimeCapability also has these types of members:

Methods

The ISmimeCapability interface has these methods.

 
ISmimeCapability::get_BitCount

Retrieves the length, in bits, of the encryption key.
ISmimeCapability::get_ObjectId

Retrieves the object identifier (OID) of the symmetric encryption algorithm.
ISmimeCapability::Initialize

Initializes the object from a symmetric encryption algorithm object identifier (OID) and an optional key length.

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

Certificate Enrollment API

ICspAlgorithm

ICspInformation

ISmimeCapabilities

IX509ExtensionSmimeCapabilities

IX509Extensions