QCA::PKeyBase Class Reference
[QCA provider API]

Public key implementation provider base. More...

#include <QtCrypto>

Inheritance diagram for QCA::PKeyBase:

QCA::BasicContext QCA::Provider::Context QCA::DHContext QCA::DSAContext QCA::RSAContext
Collaboration diagram for QCA::PKeyBase:

Collaboration graph
[legend]

List of all members.

Signals

void finished ()

Public Member Functions

virtual int bits () const =0
virtual bool canExport () const =0
virtual void convertToPublic ()=0
virtual bool decrypt (const SecureArray &in, SecureArray *out, EncryptionAlgorithm alg)
virtual SymmetricKey deriveKey (const PKeyBase &theirs)
virtual SecureArray encrypt (const SecureArray &in, EncryptionAlgorithm alg)
virtual QByteArray endSign ()
virtual bool endVerify (const QByteArray &sig)
virtual bool isNull () const =0
virtual bool isPrivate () const =0
virtual int maximumEncryptSize (EncryptionAlgorithm alg) const
 PKeyBase (Provider *p, const QString &type)
virtual void startSign (SignatureAlgorithm alg, SignatureFormat format)
virtual void startVerify (SignatureAlgorithm alg, SignatureFormat format)
virtual PKey::Type type () const =0
virtual void update (const MemoryRegion &in)


Detailed Description

Public key implementation provider base.

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.

Constructor & Destructor Documentation

QCA::PKeyBase::PKeyBase ( Provider p,
const QString type 
)

Standard constructor.

Parameters:
p the Provider associated with this context
type type of key provided by this context


Member Function Documentation

virtual int QCA::PKeyBase::bits (  )  const [pure virtual]

Returns the number of bits in the key.

virtual bool QCA::PKeyBase::canExport (  )  const [pure virtual]

Returns true if the components of this key are accessible and whether it can be serialized into an output format.

Private keys from a smart card device will often not be exportable.

virtual void QCA::PKeyBase::convertToPublic (  )  [pure virtual]

If the key is a private key, this function will convert it into a public key (all private key data includes the public data as well, which is why this is possible).

If the key is already a public key, then this function has no effect.

virtual bool QCA::PKeyBase::decrypt ( const SecureArray in,
SecureArray out,
EncryptionAlgorithm  alg 
) [virtual]

Decrypt data.

Parameters:
in the input data to decrypt
out pointer to an array to store the plaintext result
alg the encryption algorithm used to generate the input data

virtual SymmetricKey QCA::PKeyBase::deriveKey ( const PKeyBase theirs  )  [virtual]

Compute a symmetric key based on this private key and some other public key.

Essentially for Diffie-Hellman only.

Parameters:
theirs the other side (public key) to be used for key generation.

virtual SecureArray QCA::PKeyBase::encrypt ( const SecureArray in,
EncryptionAlgorithm  alg 
) [virtual]

Encrypt data.

Parameters:
in the input data to encrypt
alg the encryption algorithm to use

virtual QByteArray QCA::PKeyBase::endSign (  )  [virtual]

Complete a signing operation, and return the signature value.

If there is an error signing, an empty array is returned.

virtual bool QCA::PKeyBase::endVerify ( const QByteArray sig  )  [virtual]

Complete a verify operation, and return true if successful.

If there is an error verifying, this function returns false.

Parameters:
sig the signature to verify with the input data

void QCA::PKeyBase::finished (  )  [signal]

Emitted when an asynchronous operation completes on this key.

Such operations will be documented that they emit this signal.

virtual bool QCA::PKeyBase::isNull (  )  const [pure virtual]

Returns true if this object is not valid.

This is the default state, and the object may also become this state if a conversion or generation function fails.

virtual bool QCA::PKeyBase::isPrivate (  )  const [pure virtual]

Returns true if this is a private key, otherwise false.

virtual int QCA::PKeyBase::maximumEncryptSize ( EncryptionAlgorithm  alg  )  const [virtual]

Returns the maximum number of bytes that can be encrypted by this key.

Parameters:
alg the algorithm to be used for encryption

virtual void QCA::PKeyBase::startSign ( SignatureAlgorithm  alg,
SignatureFormat  format 
) [virtual]

Begin a signing operation.

Parameters:
alg the signature algorithm to use
format the signature format to use

virtual void QCA::PKeyBase::startVerify ( SignatureAlgorithm  alg,
SignatureFormat  format 
) [virtual]

Begin a verify operation.

Parameters:
alg the signature algorithm used by the input signature
format the signature format used by the input signature

virtual PKey::Type QCA::PKeyBase::type (  )  const [pure virtual]

Returns the type of public key.

virtual void QCA::PKeyBase::update ( const MemoryRegion in  )  [virtual]

Process the plaintext input data for either signing or verifying, whichever operation is active.

Parameters:
in the input data to process


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

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