# QCA::CAContext Class Reference
[QCA provider API]

X.509 certificate authority provider. More...

`#include <QtCrypto>`

Inheritance diagram for QCA::CAContext:

Collaboration diagram for QCA::CAContext:

[legend]

List of all members.

## Public Member Functions

| CAContext (Provider *p)
virtual CertContext * | certificate () const =0
virtual CertContext * | createCertificate (const PKeyContext &pub, const CertificateOptions &opts) const =0
virtual CRLContext * | createCRL (const QDateTime &nextUpdate) const =0
virtual void | setup (const CertContext &cert, const PKeyContext &priv)=0
virtual CertContext * | signRequest (const CSRContext &req, const QDateTime &notValidAfter) const =0
virtual CRLContext * | updateCRL (const CRLContext &crl, const QList< CRLEntry > &entries, const QDateTime &nextUpdate) const =0

## Detailed Description

X.509 certificate authority provider.

Note:
  This class is part of the provider plugin interface and should not be used directly by applications. You probably want CertificateAuthority instead.

## Constructor & Destructor Documentation

QCA::CAContext::CAContext | ( | Provider * | p | ) | `[inline]`

Standard constructor.

Parameters:

  | p | the Provider associated with this context

## Member Function Documentation

virtual CertContext* QCA::CAContext::certificate | ( |  | ) | const`[pure virtual]`

Returns a copy of the CA's certificate.

The caller is responsible for deleting it.

virtual CertContext* QCA::CAContext::createCertificate | ( | const PKeyContext & | pub,
|  | const CertificateOptions & | opts |
| ) |  |  | const`[pure virtual]`

Issue a certificate based on a public key and options, and return the certificate.

The caller is responsible for deleting it.

Parameters:

  | pub | the public key of the certificate
  | opts | the options to use for generation

virtual CRLContext* QCA::CAContext::createCRL | ( | const QDateTime & | nextUpdate | ) | const`[pure virtual]`

Create a new CRL and return it.

The caller is responsible for deleting it.

The CRL has no entries in it.

Parameters:

  | nextUpdate | the expiration date of the CRL

virtual void QCA::CAContext::setup | ( | const CertContext & | cert,
|  | const PKeyContext & | priv |
| ) |  |  | `[pure virtual]`

Prepare the object for usage.

This must be called before any CA operations are performed.

Parameters:

  | cert | the certificate of the CA
  | priv | the private key of the CA

virtual CertContext* QCA::CAContext::signRequest | ( | const CSRContext & | req,
|  | const QDateTime & | notValidAfter |
| ) |  |  | const`[pure virtual]`

Issue a certificate based on a certificate request, and return the certificate.

The caller is responsible for deleting it.

Parameters:

  | req | the certificate request
  | notValidAfter | the expiration date

virtual CRLContext* QCA::CAContext::updateCRL | ( | const CRLContext & | crl,
|  | const QList< CRLEntry > & | entries,
|  | const QDateTime & | nextUpdate |
| ) |  |  | const`[pure virtual]`

Update an existing CRL, by examining an old one and creating a new one based on it.

The new CRL is returned, and the caller is responsible for deleting it.

Parameters:

  | crl | an existing CRL issued by this CA
  | entries | the list of revoked entries
  | nextUpdate | the expiration date of the new CRL

The documentation for this class was generated from the following file:

- qcaprovider.h