• Skip to content
  • Skip to link menu
KDE 4.4 API Reference
  • KDE API Reference
  • KDE Support
  • Sitemap
  • Contact Us
 

qca

QCA::KeyBundle

QCA::KeyBundle Class Reference
[QCA user API]

Certificate chain and private key pair. More...

#include <QtCrypto>

List of all members.

Public Member Functions

 KeyBundle (const KeyBundle &from)
 KeyBundle (const QString &fileName, const SecureArray &passphrase=SecureArray())
 KeyBundle ()
 ~KeyBundle ()
CertificateChain certificateChain () const
bool isNull () const
QString name () const
KeyBundle & operator= (const KeyBundle &from)
PrivateKey privateKey () const
void setCertificateChainAndKey (const CertificateChain &c, const PrivateKey &key)
void setName (const QString &s)
QByteArray toArray (const SecureArray &passphrase, const QString &provider=QString()) const
bool toFile (const QString &fileName, const SecureArray &passphrase, const QString &provider=QString()) const

Static Public Member Functions

static KeyBundle fromArray (const QByteArray &a, const SecureArray &passphrase=SecureArray(), ConvertResult *result=0, const QString &provider=QString())
static KeyBundle fromFile (const QString &fileName, const SecureArray &passphrase=SecureArray(), ConvertResult *result=0, const QString &provider=QString())

Detailed Description

Certificate chain and private key pair.

KeyBundle is essentially a convience class that holds a certificate chain and an associated private key. This class has a number of methods that make it particularly suitable for accessing a PKCS12 (.p12) format file, however it can be used as just a container for a Certificate, its associated PrivateKey and optionally additional X.509 Certificate that form a chain.

For more information on PKCS12 "Personal Information Exchange Syntax Standard", see ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-12/pkcs-12v1.pdf.

Definition at line 2136 of file qca_cert.h.


Constructor & Destructor Documentation

QCA::KeyBundle::KeyBundle (  ) 

Create an empty KeyBundle.

Definition at line 2577 of file qca_cert.cpp.

QCA::KeyBundle::KeyBundle ( const QString &  fileName,
const SecureArray &  passphrase = SecureArray() 
) [explicit]

Create a KeyBundle from a PKCS12 (.p12) encoded file.

This constructor requires appropriate plugin (provider) support. You must check for the "pkcs12" feature before using this constructor.

Parameters:
fileName the name of the file to read from
passphrase the passphrase that is applicable to the file
See also:
fromFile for a more flexible version of the same capability.
Note:
This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler.

Definition at line 2582 of file qca_cert.cpp.

QCA::KeyBundle::KeyBundle ( const KeyBundle &  from  ) 

Standard copy constructor.

Parameters:
from the KeyBundle to use as source

Definition at line 2588 of file qca_cert.cpp.

QCA::KeyBundle::~KeyBundle (  ) 

Definition at line 2593 of file qca_cert.cpp.


Member Function Documentation

CertificateChain QCA::KeyBundle::certificateChain (  )  const

The public certificate part of this bundle.

See also:
setCertificateChainAndKey

Definition at line 2613 of file qca_cert.cpp.

KeyBundle QCA::KeyBundle::fromArray ( const QByteArray &  a,
const SecureArray &  passphrase = SecureArray(),
ConvertResult *  result = 0,
const QString &  provider = QString() 
) [static]

Import the key bundle from an array in PKCS12 format.

This method requires appropriate plugin (provider) support - you must check for the "pkcs12" feature, as shown below.

if( QCA::isSupported("pkcs12") )
{
    // can use I/O
    bundle = QCA::KeyBundle::fromArray( array, "pass phrase" );
}
else
{
    // not possible to use I/O
}
Parameters:
a the array to import from
passphrase the passphrase for the encoded bundle
result pointer to the result of the import process
provider the provider to use, if a specific provider is required
See also:
QCA::KeyLoader for an asynchronous loader approach.
Note:
This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler.

Definition at line 2652 of file qca_cert.cpp.

KeyBundle QCA::KeyBundle::fromFile ( const QString &  fileName,
const SecureArray &  passphrase = SecureArray(),
ConvertResult *  result = 0,
const QString &  provider = QString() 
) [static]

Import the key bundle from a file in PKCS12 (.p12) format.

This method requires appropriate plugin (provider) support - you must check for the "pkcs12" feature, as shown below.

if( QCA::isSupported("pkcs12") )
{
    // can use I/O
    bundle = QCA::KeyBundle::fromFile( filename, "pass phrase" );
}
else
{
    // not possible to use I/O
}
Parameters:
fileName the name of the file to read from
passphrase the passphrase for the encoded bundle
result pointer to the result of the import process
provider the provider to use, if a specific provider is required
See also:
QCA::KeyLoader for an asynchronous loader approach.
Note:
This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler.

Definition at line 2659 of file qca_cert.cpp.

bool QCA::KeyBundle::isNull (  )  const

Test if this key is empty (null).

Definition at line 2603 of file qca_cert.cpp.

QString QCA::KeyBundle::name (  )  const

The name associated with this key.

This is also known as the "friendly name", and if present, is typically suitable to be displayed to the user.

See also:
setName

Definition at line 2608 of file qca_cert.cpp.

KeyBundle & QCA::KeyBundle::operator= ( const KeyBundle &  from  ) 

Standard assignment operator.

Parameters:
from the KeyBundle to use as source

Definition at line 2597 of file qca_cert.cpp.

PrivateKey QCA::KeyBundle::privateKey (  )  const

The private key part of this bundle.

See also:
setCertificateChainAndKey

Definition at line 2618 of file qca_cert.cpp.

void QCA::KeyBundle::setCertificateChainAndKey ( const CertificateChain &  c,
const PrivateKey &  key 
)

Set the public certificate and private key.

Parameters:
c the CertificateChain containing the public part of the Bundle
key the private key part of the Bundle
See also:
privateKey, certificateChain for getters

Definition at line 2628 of file qca_cert.cpp.

void QCA::KeyBundle::setName ( const QString &  s  ) 

Specify the name of this bundle.

Parameters:
s the name to use

Definition at line 2623 of file qca_cert.cpp.

QByteArray QCA::KeyBundle::toArray ( const SecureArray &  passphrase,
const QString &  provider = QString() 
) const

Export the key bundle to an array in PKCS12 format.

This method requires appropriate plugin (provider) support - you must check for the "pkcs12" feature, as shown below.

if( QCA::isSupported("pkcs12") )
{
    // can use I/O
    byteArray = bundle.toArray( "pass phrase" );
}
else
{
    // not possible to use I/O
}
Parameters:
passphrase the passphrase to use to protect the bundle
provider the provider to use, if a specific provider is required

Definition at line 2634 of file qca_cert.cpp.

bool QCA::KeyBundle::toFile ( const QString &  fileName,
const SecureArray &  passphrase,
const QString &  provider = QString() 
) const

Export the key bundle to a file in PKCS12 (.p12) format.

This method requires appropriate plugin (provider) support - you must check for the "pkcs12" feature, as shown below.

if( QCA::isSupported("pkcs12") )
{
    // can use I/O
    bool result = bundle.toFile( filename, "pass phrase" );
}
else
{
    // not possible to use I/O
}
Parameters:
fileName the name of the file to save to
passphrase the passphrase to use to protect the bundle
provider the provider to use, if a specific provider is required

Definition at line 2647 of file qca_cert.cpp.


The documentation for this class was generated from the following files:
  • qca_cert.h
  • qca_cert.cpp

qca

Skip menu "qca"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

KDE Support

Skip menu "KDE Support"
  • akonadi
  • Decibel
  • grantlee
  • kdewin
  • phonon
  •     Backend
  • polkit-qt
  • qca
  • qimageblitz
  • soprano
  • strigi
  •     searchclient
  •     streamanalyzer
  •     streams
Generated for KDE Support by doxygen 1.5.9-20090814
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal