QCA::KeyBundle

#include <QtCrypto>

Public Member Functions

 KeyBundle ()
 
 KeyBundle (const QString &fileName, const SecureArray &passphrase=SecureArray())
 
 KeyBundle (const KeyBundle &from)
 
CertificateChain certificateChain () const
 
bool isNull () const
 
QString name () const
 
KeyBundleoperator= (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=nullptr, const QString &provider=QString())
 
static KeyBundle fromFile (const QString &fileName, const SecureArray &passphrase=SecureArray(), ConvertResult *result=nullptr, 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 2175 of file qca_cert.h.

Constructor & Destructor Documentation

QCA::KeyBundle::KeyBundle ( )

Create an empty KeyBundle.

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
fileNamethe name of the file to read from
passphrasethe 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.
QCA::KeyBundle::KeyBundle ( const KeyBundle from)

Standard copy constructor.

Parameters
fromthe KeyBundle to use as source

Member Function Documentation

CertificateChain QCA::KeyBundle::certificateChain ( ) const

The public certificate part of this bundle.

See also
setCertificateChainAndKey
static KeyBundle QCA::KeyBundle::fromArray ( const QByteArray a,
const SecureArray passphrase = SecureArray(),
ConvertResult result = nullptr,
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
athe array to import from
passphrasethe passphrase for the encoded bundle
resultpointer to the result of the import process
providerthe 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.
static KeyBundle QCA::KeyBundle::fromFile ( const QString fileName,
const SecureArray passphrase = SecureArray(),
ConvertResult result = nullptr,
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
fileNamethe name of the file to read from
passphrasethe passphrase for the encoded bundle
resultpointer to the result of the import process
providerthe 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.
bool QCA::KeyBundle::isNull ( ) const

Test if this key is empty (null)

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
KeyBundle& QCA::KeyBundle::operator= ( const KeyBundle from)

Standard assignment operator.

Parameters
fromthe KeyBundle to use as source
PrivateKey QCA::KeyBundle::privateKey ( ) const

The private key part of this bundle.

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

Set the public certificate and private key.

Parameters
cthe CertificateChain containing the public part of the Bundle
keythe private key part of the Bundle
See also
privateKey, certificateChain for getters
void QCA::KeyBundle::setName ( const QString s)

Specify the name of this bundle.

Parameters
sthe name to use
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
passphrasethe passphrase to use to protect the bundle
providerthe provider to use, if a specific provider is required
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
fileNamethe name of the file to save to
passphrasethe passphrase to use to protect the bundle
providerthe provider to use, if a specific provider is required

The documentation for this class was generated from the following file:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Thu Nov 26 2020 23:02:25 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.