ICspStatus interface

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:

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.


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


The ICspStatus interface has these methods.


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




The ICspStatus interface has these properties.



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



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



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


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


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



Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]





See also

CertEnroll Interfaces



Community Additions