Qt Cryptographic Architecture: QCA::KeyStore Class Reference

Qt Cryptographic Architecture

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Types | Signals | Public Member Functions | Friends | List of all members
QCA::KeyStore Class Reference
QCA user API

`#include <QtCrypto>`

Collaboration diagram for QCA::KeyStore:
[legend]

## Public Types
enum | Type { System, User, Application, SmartCard, PGPKeyring }

## Signals
void | entryRemoved (bool success)
void | entryWritten (const QString &entryId)
void | unavailable ()
void | updated ()

## Public Member Functions
QList< KeyStoreEntry > | entryList () const
bool | holdsIdentities () const
bool | holdsPGPPublicKeys () const
bool | holdsTrustedCertificates () const
QString | id () const
bool | isReadOnly () const
bool | isValid () const
| KeyStore (const QString &id, KeyStoreManager *keyStoreManager)
QString | name () const
bool | removeEntry (const QString &id)
void | startAsynchronousMode ()
Type | type () const
QString | writeEntry (const KeyBundle &kb)
QString | writeEntry (const Certificate &cert)
QString | writeEntry (const CRL &crl)
QString | writeEntry (const PGPKey &key)
Public Member Functions inherited from QCA::Algorithm
| Algorithm (const Algorithm &from)
void | change (Provider::Context *c)
void | change (const QString &type, const QString &provider)
Provider::Context * | context ()
const Provider::Context * | context () const
Algorithm & | operator= (const Algorithm &from)
Provider * | provider () const
Provider::Context * | takeContext ()
QString | type () const

## Friends
class | KeyStoreManagerPrivate
class | KeyStorePrivate

## Additional Inherited Members
Protected Member Functions inherited from QCA::Algorithm
| Algorithm ()
| Algorithm (const QString &type, const QString &provider)

## Detailed Description

General purpose key storage object.

Examples of use of this are:

- systemstore: System TrustedCertificates
- accepted self-signed: Application TrustedCertificates
- apple keychain: User Identities
- smartcard: SmartCard Identities
- gnupg: PGPKeyring Identities,PGPPublicKeys

Note
  - there can be multiple KeyStore objects referring to the same id
  - when a KeyStore is constructed, it refers to a given id (deviceId) and internal contextId. if the context goes away, the KeyStore becomes invalid (isValid() == false), and unavailable() is emitted. even if the device later reappears, the KeyStore remains invalid. a new KeyStore will have to be created to use the device again.

## Member Enumeration Documentation

enum QCA::KeyStore::Type

The type of keystore.

Enumerator
System | objects such as root certificates
User | objects such as Apple Keychain, KDE Wallet
Application | for caching accepted self-signed certificates
SmartCard | for smartcards
PGPKeyring | for a PGP keyring

## Constructor & Destructor Documentation

QCA::KeyStore::KeyStore | ( | const QString & | id,
|  | KeyStoreManager * | keyStoreManager
| ) |  |

Obtain a specific KeyStore.

Parameters

  id | the identification for the key store
  keyStoreManager | the parent manager for this keystore

## Member Function Documentation

bool QCA::KeyStore::isValid | ( |  | ) | const

Check if this KeyStore is valid.

Returns
  true if the KeyStore is valid

Type QCA::KeyStore::type | ( |  | ) | const

The KeyStore Type.

QString QCA::KeyStore::name | ( |  | ) | const

The name associated with the KeyStore.

QString QCA::KeyStore::id | ( |  | ) | const

The ID associated with the KeyStore.

bool QCA::KeyStore::isReadOnly | ( |  | ) | const

Test if the KeyStore is writeable or not.

Returns
  true if the KeyStore is read-only

void QCA::KeyStore::startAsynchronousMode | ( |  | ) |

Turns on asynchronous mode for this KeyStore instance.

Normally, entryList() and writeEntry() are blocking calls. However, if startAsynchronousMode() is called, then these functions will return immediately. entryList() will return with the latest known entries, or an empty list if none are known yet (in this mode, updated() will be emitted once the initial entries are known, even if the store has not actually been altered). writeEntry() will always return an empty string, and the entryWritten() signal indicates the result of a write.

QList<KeyStoreEntry> QCA::KeyStore::entryList | ( |  | ) | const

A list of the KeyStoreEntry objects in this store.

Note
  This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler (this is not a concern if asynchronous mode is enabled).

See also
  startAsynchronousMode

bool QCA::KeyStore::holdsTrustedCertificates | ( |  | ) | const

test if the KeyStore holds trusted certificates (and CRLs)

bool QCA::KeyStore::holdsIdentities | ( |  | ) | const

test if the KeyStore holds identities (eg KeyBundle or PGPSecretKey)

bool QCA::KeyStore::holdsPGPPublicKeys | ( |  | ) | const

test if the KeyStore holds PGPPublicKey objects

QString QCA::KeyStore::writeEntry | ( | const KeyBundle & | kb | ) |

Add a entry to the KeyStore.

Returns the entryId of the written entry or an empty string on failure.

Parameters

  kb | the KeyBundle to add to the KeyStore

Note
  This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler (this is not a concern if asynchronous mode is enabled).

See also
  startAsynchronousMode

QString QCA::KeyStore::writeEntry | ( | const Certificate & | cert | ) |

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters

  cert | the Certificate to add to the KeyStore

QString QCA::KeyStore::writeEntry | ( | const CRL & | crl | ) |

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters

  crl | the CRL to add to the KeyStore

QString QCA::KeyStore::writeEntry | ( | const PGPKey & | key | ) |

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters

  key | the PGPKey to add to the KeyStore

Returns
  a ref to the key in the keyring

bool QCA::KeyStore::removeEntry | ( | const QString & | id | ) |

Delete the a specified KeyStoreEntry from this KeyStore.

Parameters

  id | the ID for the entry to be deleted

Note
  This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler (this is not a concern if asynchronous mode is enabled).

See also
  startAsynchronousMode

void QCA::KeyStore::updated | ( |  | ) |
| signal

Emitted when the KeyStore is changed.

This occurs if entries are added, removed, or changed in this KeyStore, including changes in entry availability.

void QCA::KeyStore::unavailable | ( |  | ) |
| signal

Emitted when the KeyStore becomes unavailable.

void QCA::KeyStore::entryWritten | ( | const QString & | entryId | ) |
| signal

Emitted when an entry has been written, in asynchronous mode.

Parameters

  entryId | is the newly written entry id on success, or an empty string if the write failed.

void QCA::KeyStore::entryRemoved | ( | bool | success | ) |
| signal

Emitted when an entry has been removed, in asynchronous mode.

Parameters

  success | indicates if the removal succeeded (true) or not (false).

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

- qca_keystore.h