Qt Cryptographic Architecture: QCA::PKeyContext Class Reference

Qt Cryptographic Architecture

Public Member Functions | List of all members
QCA::PKeyContext Class Referenceabstract
QCA provider API

`#include <QtCrypto>`

Collaboration diagram for QCA::PKeyContext:
[legend]

## Public Member Functions
virtual bool | importKey (const PKeyBase *key)=0
virtual PKeyBase * | key ()=0
virtual const PKeyBase * | key () const =0
| PKeyContext (Provider *p)
virtual ConvertResult | privateFromDER (const SecureArray &a, const SecureArray &passphrase)
virtual ConvertResult | privateFromPEM (const QString &s, const SecureArray &passphrase)
virtual SecureArray | privateToDER (const SecureArray &passphrase, PBEAlgorithm pbe) const
virtual QString | privateToPEM (const SecureArray &passphrase, PBEAlgorithm pbe) const
virtual ConvertResult | publicFromDER (const QByteArray &a)
virtual ConvertResult | publicFromPEM (const QString &s)
virtual QByteArray | publicToDER () const
virtual QString | publicToPEM () const
virtual void | setKey (PKeyBase *key)=0
virtual QList< PKey::Type > | supportedIOTypes () const =0
virtual QList< PBEAlgorithm > | supportedPBEAlgorithms () const =0
virtual QList< PKey::Type > | supportedTypes () const =0

## Additional Inherited Members
Protected Member Functions inherited from QCA::BasicContext
| BasicContext (Provider *parent, const QString &type)
| BasicContext (const BasicContext &from)

## Detailed Description

Public key container provider.

Note
  This class is part of the provider plugin interface and should not be used directly by applications. You probably want PKey, PublicKey, or PrivateKey instead.

This object "holds" a public key object. By default it contains no key (key() returns 0), but you can put a key into it with setKey(), or you can call an import function such as publicFromDER().

## Constructor & Destructor Documentation

## ◆ PKeyContext()

QCA::PKeyContext::PKeyContext | ( | Provider * | p | ) |
| inline

Standard constructor.

Parameters

  p | the provider associated with this context

## Member Function Documentation

## ◆ supportedTypes()

virtual QList<PKey::Type> QCA::PKeyContext::supportedTypes | ( |  | ) | const
| pure virtual

Returns a list of supported public key types.

## ◆ supportedIOTypes()

virtual QList<PKey::Type> QCA::PKeyContext::supportedIOTypes | ( |  | ) | const
| pure virtual

Returns a list of public key types that can be serialized and deserialized into DER and PEM format.

## ◆ supportedPBEAlgorithms()

virtual QList<PBEAlgorithm> QCA::PKeyContext::supportedPBEAlgorithms | ( |  | ) | const
| pure virtual

Returns a list of password-based encryption algorithms that are supported for private key serialization and deserialization.

## ◆ key() [1/2]

virtual PKeyBase* QCA::PKeyContext::key | ( |  | ) |
| pure virtual

Returns the key held by this object, or 0 if there is no key.

## ◆ key() [2/2]

virtual const PKeyBase* QCA::PKeyContext::key | ( |  | ) | const
| pure virtual

Returns the key held by this object, or 0 if there is no key.

## ◆ setKey()

virtual void QCA::PKeyContext::setKey | ( | PKeyBase * | key | ) |
| pure virtual

Sets the key for this object.

If this object already had a key, then the old one is destructed. This object takes ownership of the key.

Parameters

  key | the key to be set for this object

## ◆ importKey()

virtual bool QCA::PKeyContext::importKey | ( | const PKeyBase * | key | ) |
| pure virtual

Attempt to import a key from another provider.

Returns true if successful, otherwise false.

Generally this function is used if the specified key's provider does not support serialization, but your provider does. The call to this function would then be followed by an export function, such as publicToDER().

Parameters

  key | the key to be imported

## ◆ publicToDER()

virtual QByteArray QCA::PKeyContext::publicToDER | ( |  | ) | const
| virtual

Convert a public key to DER format, and return the value.

Returns an empty array on error.

## ◆ publicToPEM()

virtual QString QCA::PKeyContext::publicToPEM | ( |  | ) | const
| virtual

Convert a public key to PEM format, and return the value.

Returns an empty string on error.

## ◆ publicFromDER()

virtual ConvertResult QCA::PKeyContext::publicFromDER | ( | const QByteArray & | a | ) |
| virtual

Read DER-formatted input and convert it into a public key.

Returns QCA::ConvertGood if successful, otherwise some error value.

Parameters

  a | the input data

## ◆ publicFromPEM()

virtual ConvertResult QCA::PKeyContext::publicFromPEM | ( | const QString & | s | ) |
| virtual

Read PEM-formatted input and convert it into a public key.

Returns QCA::ConvertGood if successful, otherwise some error value.

Parameters

  s | the input data

## ◆ privateToDER()

virtual SecureArray QCA::PKeyContext::privateToDER | ( | const SecureArray & | passphrase,
|  | PBEAlgorithm | pbe
| ) |  | const
| virtual

Convert a private key to DER format, and return the value.

Returns an empty array on error.

Parameters

  passphrase | the passphrase to encode the result with, or an empty array if no encryption is desired
  pbe | the encryption algorithm to use, if applicable

## ◆ privateToPEM()

virtual QString QCA::PKeyContext::privateToPEM | ( | const SecureArray & | passphrase,
|  | PBEAlgorithm | pbe
| ) |  | const
| virtual

Convert a private key to PEM format, and return the value.

Returns an empty string on error.

Parameters

  passphrase | the passphrase to encode the result with, or an empty array if no encryption is desired
  pbe | the encryption algorithm to use, if applicable

## ◆ privateFromDER()

virtual ConvertResult QCA::PKeyContext::privateFromDER | ( | const SecureArray & | a,
|  | const SecureArray & | passphrase
| ) |  |
| virtual

Read DER-formatted input and convert it into a private key.

Returns QCA::ConvertGood if successful, otherwise some error value.

Parameters

  a | the input data
  passphrase | the passphrase needed to decrypt, if applicable

## ◆ privateFromPEM()

virtual ConvertResult QCA::PKeyContext::privateFromPEM | ( | const QString & | s,
|  | const SecureArray & | passphrase
| ) |  |
| virtual

Read PEM-formatted input and convert it into a private key.

Returns QCA::ConvertGood if successful, otherwise some error value.

Parameters

  s | the input data
  passphrase | the passphrase needed to decrypt, if applicable

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

- qcaprovider.h