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

X.509 certificate provider. More...

`#include <QtCrypto>`

Inheritance diagram for QCA::CertContext:

Collaboration diagram for QCA::CertContext:

[legend]

List of all members.

## Public Member Functions

| CertContext (Provider *p)
virtual bool | compare (const CertContext *other) const =0
virtual bool | createSelfSigned (const CertificateOptions &opts, const PKeyContext &priv)=0
virtual bool | isIssuerOf (const CertContext *other) const =0
virtual const CertContextProps * | props () const =0
virtual PKeyContext * | subjectPublicKey () const =0
virtual Validity | validate (const QList< CertContext * > &trusted, const QList< CertContext * > &untrusted, const QList< CRLContext * > &crls, UsageMode u, ValidateFlags vf) const =0
virtual Validity | validate_chain (const QList< CertContext * > &chain, const QList< CertContext * > &trusted, const QList< CRLContext * > &crls, UsageMode u, ValidateFlags vf) const =0

## Detailed Description

X.509 certificate provider.

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

## Constructor & Destructor Documentation

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

Standard constructor.

Parameters:

  | p | the provider associated with this context

## Member Function Documentation

virtual bool QCA::CertContext::compare | ( | const CertContext * | other | ) | const`[pure virtual]`

Returns true if this certificate is equal to another certificate, otherwise false.

Parameters:

  | other | the certificate to compare with

virtual bool QCA::CertContext::createSelfSigned | ( | const CertificateOptions & | opts,
|  | const PKeyContext & | priv |
| ) |  |  | `[pure virtual]`

Create a self-signed certificate based on the given options and private key.

Returns true if successful, otherwise false.

If successful, this object becomes the self-signed certificate. If unsuccessful, this object is considered to be in an uninitialized state.

Parameters:

  | opts | the options to set on the certificate
  | priv | the key to be used to sign the certificate

virtual bool QCA::CertContext::isIssuerOf | ( | const CertContext * | other | ) | const`[pure virtual]`

Returns true if this certificate is an issuer of another certificate, otherwise false.

Parameters:

  | other | the issued certificate to check

virtual const CertContextProps* QCA::CertContext::props | ( |  | ) | const`[pure virtual]`

Returns a pointer to the properties of this certificate.

virtual PKeyContext* QCA::CertContext::subjectPublicKey | ( |  | ) | const`[pure virtual]`

Returns a copy of this certificate's public key.

The caller is responsible for deleting it.

virtual Validity QCA::CertContext::validate | ( | const QList< CertContext * > & | trusted,
|  | const QList< CertContext * > & | untrusted,
|  | const QList< CRLContext * > & | crls,
|  | UsageMode | u,
|  | ValidateFlags | vf |
| ) |  |  | const`[pure virtual]`

Validate this certificate.

This function is blocking.

Parameters:

  | trusted | list of trusted certificates
  | untrusted | list of untrusted certificates (can be empty)
  | crls | list of CRLs (can be empty)
  | u | the desired usage for this certificate
  | vf | validation options

virtual Validity QCA::CertContext::validate_chain | ( | const QList< CertContext * > & | chain,
|  | const QList< CertContext * > & | trusted,
|  | const QList< CRLContext * > & | crls,
|  | UsageMode | u,
|  | ValidateFlags | vf |
| ) |  |  | const`[pure virtual]`

Validate a certificate chain.

This function makes no use of the certificate represented by this object, and it can be used even if this object is in an uninitialized state.

This function is blocking.

Parameters:

  | chain | list of certificates in the chain, starting with the user certificate. It is not necessary for the chain to contain the final root certificate.
  | trusted | list of trusted certificates
  | crls | list of CRLs (can be empty)
  | u | the desired usage for the user certificate in the chain
  | vf | validation options

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

- qcaprovider.h