QCA::KeyStore Class Reference
[QCA user API]

General purpose key storage object. More...

#include <QtCrypto>

Inheritance diagram for QCA::KeyStore:

QObject QCA::Algorithm
Collaboration diagram for QCA::KeyStore:

Collaboration graph
[legend]

List of all members.

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< KeyStoreEntryentryList () 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 PGPKey &key)
QString writeEntry (const CRL &crl)
QString writeEntry (const Certificate &cert)
QString writeEntry (const KeyBundle &kb)

Friends

class KeyStoreManagerPrivate
class KeyStorePrivate


Detailed Description

General purpose key storage object.

Examples of use of this are:

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

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

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

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).

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.

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

bool QCA::KeyStore::holdsTrustedCertificates (  )  const

test if the KeyStore holds trusted certificates (and CRLs)

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

bool QCA::KeyStore::isValid (  )  const

Check if this KeyStore is valid.

Returns:
true if the KeyStore is valid

QString QCA::KeyStore::name (  )  const

The name associated with the KeyStore.

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::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.

Type QCA::KeyStore::type (  )  const

The KeyStore Type.

Reimplemented from QCA::Algorithm.

void QCA::KeyStore::unavailable (  )  [signal]

Emitted when the KeyStore becomes unavailable.

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.

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

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


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

Generated on Wed Apr 29 15:16:03 2009 for Qt Cryptographic Architecture by  doxygen 1.5.5