Qt Cryptographic Architecture
Public Types | Signals | Public Member Functions | Friends | List of all members
QCA::KeyStore Class Reference

#include <QtCrypto>

Collaboration diagram for QCA::KeyStore:
Collaboration graph
[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< 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 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::Contextcontext ()
 
const Provider::Contextcontext () const
 
Algorithmoperator= (const Algorithm &from)
 
Providerprovider () const
 
Provider::ContexttakeContext ()
 
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:

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
idthe identification for the key store
keyStoreManagerthe 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
kbthe 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
certthe 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
crlthe 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
keythe 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
idthe 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
entryIdis 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
successindicates if the removal succeeded (true) or not (false).

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