ICspStatus interface (certenroll.h)

An ICspStatus object contains information about a cryptographic provider/algorithm pair. The object is primarily used by the Certificate Enrollment Control to enable a user to select which cryptographic providers and algorithms to use when creating a certificate request. It can be retrieved, either alone or in an ICspStatuses collection, by calling the following properties or methods:

Property/Method Interface Description
GetCspStatusFromOperations ICspInformation Creates an ICspStatus object for the first supported algorithm that is consistent with a specified algorithm object identifier (OID) and algorithm type.
GetCspStatusesFromOperations ICspInformations Creates an ICspStatuses collection for a specified algorithm type and optional provider information.
Note  The Certificate Enrollment Control uses an ICspStatuses collection only for private key asymmetric (encryption, signing, and key exchange) algorithm selection.
 
GetCspStatusFromProviderName ICspInformations Creates an ICspStatus object for a legacy provider by provider name and supported key operations.
CspStatus IX509PrivateKey Specifies or retrieves an ICspStatus object. The object is typically created during the enrollment process.
GetCspStatuses IX509CertificateRequestPkcs10 Creates an ICspStatuses collection that contains all provider/algorithm pairs consistent with the intended use of the private key as specified by the caller.
CspStatuses IX509CertificateRequestPkcs10 Creates an ICspStatuses collection that contains all provider/algorithm pairs consistent with the intended use of the private key as identified by the IX509PrivateKey object associated with the certificate request.
 

Because cryptographic providers typically support more than one algorithm, multiple ICspStatus objects may be created and returned when you call any of the preceding properties or methods that return a collection. This is shown by the following illustration:

Structure of the ICspStatuses collection showing individual ICspStatus objects

You can use the EnrollmentStatus property on an ICspStatus object to retrieve an IX509EnrollmentStatus object that defines the following properties:

  • The Display property specifies whether the provider/algorithm pair can be displayed in a user interface.
  • The Selected property specifies or retrieves a value that indicates whether the status of a specific item is monitored during the enrollment process.
  • The Status property identifies the status of the enrollment process.

Inheritance

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

Methods

The ICspStatus interface has these methods.

 
ICspStatus::get_CspAlgorithm

Retrieves an ICspAlgorithm object that contains information about an algorithm supported by the provider.
ICspStatus::get_CspInformation

Retrieves an ICspInformation object that contains general information about the provider.
ICspStatus::get_DisplayName

Retrieves a string that contains the name of the provider, the algorithm name, and the operations that can be performed by the algorithm.
ICspStatus::get_EnrollmentStatus

Retrieves an IX509EnrollmentStatus object that contains information about the certificate enrollment.
ICspStatus::get_Ordinal

Specifies or retrieves the position of the ICspStatus object in the ICspStatuses collection. (Get)
ICspStatus::Initialize

Initializes the object from a cryptographic provider and an associated algorithm.
ICspStatus::put_Ordinal

Specifies or retrieves the position of the ICspStatus object in the ICspStatuses collection. (Put)

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

CertEnroll Interfaces

ICspStatuses

IDispatch