ICertRequest interface

The ICertRequest interface provides communications between a client or intermediary application and Certificate services.

Client and intermediary applications can call the ICertRequest methods to perform the following tasks:

  • Submit certificate request.
  • Retrieve the disposition, last status, and identifier of a request.
  • Retrieve the certificate issued for the request.
  • Retrieve pending certificates for previous requests.
  • Retrieve the certification authority (CA) certificate for the Certificate Services server.

ICertRequest is defined in Certcli.h. When you create your program, however, use Certsrv.h as the include file. Certcli.dll provides the ICertRequest interface. The type information for this interface is also in Certclil.dll, which is shipped with the Platform Software Development Kit (SDK).

Certificate Services interfaces support both apartment-threading and free-threading models. For better throughput, free threading is recommended.


The ICertRequest interface has these methods.

Method Description
ICertRequest::GetCACertificate Returns the certification authority (CA) certificate for the Certificate Services server.
ICertRequest::GetCertificate Returns the certificate issued for the request as an X.509 certificate, or optionally packaged in a Public Key Cryptography Standards (PKCS) #7 message that contains the complete certificate chain for the Certificate Services server.
ICertRequest::GetDispositionMessage Gets a human-readable message that gives the current disposition of the certificate request.
ICertRequest::GetLastStatus Gets the last return code for this request. This returns the error code information, rather than the disposition of the request.
ICertRequest::GetRequestId Gets the current internal request number for the request and subsequent certificate.
ICertRequest::RetrievePending Retrieves a certificate's disposition status from an earlier request that may have previously returned CR_DISP_INCOMPLETE or CR_DISP_UNDER_SUBMISSION.
ICertRequest::Submit Submits a request to the Certificate Services server.


Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header certcli.h (include Certsrv.h)