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

Public key container provider. More...

`#include <QtCrypto>`

Inheritance diagram for QCA::PKeyContext:

Collaboration diagram for QCA::PKeyContext:

[legend]

List of all members.

## Public Member Functions

virtual bool | importKey (const PKeyBase *key)=0
virtual const PKeyBase * | key () const =0
virtual PKeyBase * | key ()=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

## 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

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

Standard constructor.

Parameters:

  | p | the provider associated with this context

## Member Function Documentation

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

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

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

virtual PKeyBase* QCA::PKeyContext::key | ( |  | ) | `[pure virtual]`

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

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

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

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

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

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

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

virtual QByteArray QCA::PKeyContext::publicToDER | ( |  | ) | const`[virtual]`

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

Returns an empty array on error.

virtual QString QCA::PKeyContext::publicToPEM | ( |  | ) | const`[virtual]`

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

Returns an empty string on error.

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

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.

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.

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

Returns a list of supported public key types.

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

- qcaprovider.h