IX509ExtensionSmimeCapabilities interface (certenroll.h)

The IX509ExtensionSmimeCapabilities interface can be used to report the decryption capabilities of an email recipient to an email sender so that the sender can choose the most secure algorithm supported by both parties. The following syntax shows the Abstract Syntax Notation One (ASN.1) structure of the extension. The extension value is encoded by using Distinguished Encoding Rules (DER) and included in the certificate request.


----------------------------------------------------------------------
-- 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 can be initialized from a collection of ISmimeCapability objects, each of which identifies a symmetric encryption algorithm and optional key length. The following algorithms are supported.

OID Description
XCN_OID_OIWSEC_desCBC(1.3.14.3.2.7) Data Encryption Standard (DES) in cipher block chaining (CBC) mode. The key length is 56 bits.
XCN_OID_RSA_DES_EDE3_CBC(1.2.840.113549.3.7) Triple DES (3DES) in CBC mode. The key length is 168 bits.
XCN_OID_RSA_RC2CBC(1.2.840.113549.3.2) RC2 algorithm in CBC mode. The key length is variable from 40 to 128 bits.
XCN_OID_RSA_RC4(1.2.840.113549.3.4) RC4 algorithm. The key length is variable from 40 to 128 bits.
XCN_OID_RSA_SMIMEalgCMS3DESwrap(1.2.840.113549.1.9.16.3.6) 3DES used for key wrapping. The key length is 168 bits.
XCN_OID_RSA_SMIMEalgCMSRC2wrap(1.2.840.113549.1.9.16.3.7) RC2 used for key wrapping. The key length is 128 bits.
XCN_OID_NIST_AES128_CBC(2.16.840.1.101.3.4.1.2) Advanced Encryption Standard (AES) in CBC mode. The key length is 128 bits.
XCN_OID_NIST_AES192_CBC(2.16.840.1.101.3.4.1.22) AES in CBC mode. The key length is 192 bits.
XCN_OID_NIST_AES256_CBC(2.16.840.1.101.3.4.1.42) AES in CBC mode. The key length is 256 bits.
XCN_OID_NIST_AES128_WRAP(2.16.840.1.101.3.4.1.5) AES used for key wrapping. The key length is 128 bits.
XCN_OID_NIST_AES192_WRAP(2.16.840.1.101.3.4.1.25) AES used for key wrapping. The key length is 192 bits.
XCN_OID_NIST_AES256_WRAP(2.16.840.1.101.3.4.1.45) AES used for key wrapping. The key length is 256 bits.
 

To add this extension object to a PKCS #10 request or a CMC request, you must first add it to an IX509Extensions collection and use the collection to initialize an IX509AttributeExtensions object. For more information, see the PKCS #10 Extensions and the CMC Extensions topics.

Inheritance

The IX509ExtensionSmimeCapabilities interface inherits from IX509Extension. IX509ExtensionSmimeCapabilities also has these types of members:

Methods

The IX509ExtensionSmimeCapabilities interface has these methods.

 
IX509ExtensionSmimeCapabilities::get_SmimeCapabilities

Retrieves a collection of ISmimeCapability objects.
IX509ExtensionSmimeCapabilities::InitializeDecode

Initializes the extension from a Distinguished Encoding Rules (DER) encoded byte array that contains the extension value. (IX509ExtensionSmimeCapabilities.InitializeDecode)
IX509ExtensionSmimeCapabilities::InitializeEncode

Initializes the extension from an ISmimeCapabilities collection.

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

IX509Extension