QCA::PrivateKey Class Reference
[QCA user API]
Generic private key.
More...
#include <QtCrypto>
List of all members.
Public Member Functions |
bool | canDecrypt () const |
bool | canSign () const |
bool | decrypt (const SecureArray &in, SecureArray *out, EncryptionAlgorithm alg) |
SymmetricKey | deriveKey (const PublicKey &theirs) |
PrivateKey & | operator= (const PrivateKey &from) |
| PrivateKey (const PrivateKey &from) |
| PrivateKey (const QString &fileName, const SecureArray &passphrase=SecureArray()) |
| PrivateKey () |
QByteArray | signature () |
QByteArray | signMessage (const MemoryRegion &a, SignatureAlgorithm alg, SignatureFormat format=DefaultFormat) |
void | startSign (SignatureAlgorithm alg, SignatureFormat format=DefaultFormat) |
SecureArray | toDER (const SecureArray &passphrase=SecureArray(), PBEAlgorithm pbe=PBEDefault) const |
DHPrivateKey | toDH () const |
DSAPrivateKey | toDSA () const |
QString | toPEM (const SecureArray &passphrase=SecureArray(), PBEAlgorithm pbe=PBEDefault) const |
bool | toPEMFile (const QString &fileName, const SecureArray &passphrase=SecureArray(), PBEAlgorithm pbe=PBEDefault) const |
RSAPrivateKey | toRSA () const |
void | update (const MemoryRegion &a) |
Static Public Member Functions |
static PrivateKey | fromDER (const SecureArray &a, const SecureArray &passphrase=SecureArray(), ConvertResult *result=0, const QString &provider=QString()) |
static PrivateKey | fromPEM (const QString &s, const SecureArray &passphrase=SecureArray(), ConvertResult *result=0, const QString &provider=QString()) |
static PrivateKey | fromPEMFile (const QString &fileName, const SecureArray &passphrase=SecureArray(), ConvertResult *result=0, const QString &provider=QString()) |
static QList< PBEAlgorithm > | supportedPBEAlgorithms (const QString &provider=QString()) |
Protected Member Functions |
| PrivateKey (const QString &type, const QString &provider) |
Detailed Description
Generic private key.
- Examples:
-
keyloader.cpp, publickeyexample.cpp, rsatest.cpp, and sslservtest.cpp.
Constructor & Destructor Documentation
QCA::PrivateKey::PrivateKey |
( |
|
) |
|
Create an empty private key.
Import a private key from a PEM representation in a file.
- Parameters:
-
| fileName | the name of the file containing the private key |
| passphrase | the pass phrase for the private key |
- See also:
- fromPEMFile for an alternative method
- Note:
- This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler.
QCA::PrivateKey::PrivateKey |
( |
const PrivateKey & |
from |
) |
|
Copy constructor.
- Parameters:
-
QCA::PrivateKey::PrivateKey |
( |
const QString & |
type, |
|
|
const QString & |
provider | |
|
) |
| | [protected] |
Create a new private key.
- Parameters:
-
| type | the type of key to create |
| provider | the provider to use, if a specific provider is required. |
Member Function Documentation
Assignment operator.
- Parameters:
-
Interpret / convert the key to an RSA key.
Interpret / convert the key to a DSA key.
Interpret / convert the key to a Diffie-Hellman key.
bool QCA::PrivateKey::canDecrypt |
( |
|
) |
const |
Test if this key can be used for decryption.
- Returns:
- true if the key can be used for decryption
- Examples:
- publickeyexample.cpp.
bool QCA::PrivateKey::canSign |
( |
|
) |
const |
Test if this key can be used for signing.
- Returns:
- true if the key can be used to make a signature
- Examples:
- rsatest.cpp.
Decrypt the message.
- Parameters:
-
| in | the cipher (encrypted) data |
| out | the plain text data |
| alg | the algorithm to use |
- Note:
- This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler.
- Examples:
- publickeyexample.cpp, and rsatest.cpp.
Initialise the message signature process.
- Parameters:
-
| alg | the algorithm to use for the message signature process |
| format | the signature format to use, for DSA |
- Note:
- This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler.
- Examples:
- rsatest.cpp.
Update the signature process.
- Parameters:
-
| a | the message to use to update the signature |
- Note:
- This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler.
- Examples:
- rsatest.cpp.
The resulting signature.
- Note:
- This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler.
- Examples:
- rsatest.cpp.
One step signature process.
- Parameters:
-
| a | the message to sign |
| alg | the algorithm to use for the signature |
| format | the signature format to use, for DSA |
- Returns:
- the signature
- Note:
- This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler.
Derive a shared secret key from a public key.
- Parameters:
-
| theirs | the public key to derive from |
List the supported Password Based Encryption Algorithms that can be used to protect the key.
- Parameters:
-
| provider | the provider to use, if a particular provider is required |
Export the key in Distinguished Encoding Rules (DER) format.
- Parameters:
-
| passphrase | the pass phrase to use to protect the key |
| pbe | the symmetric encryption algorithm to use to protect the key |
- See also:
- fromDER provides an inverse of toDER, converting the DER encoded key back to a PrivateKey
Export the key in Privacy Enhanced Mail (PEM) format.
- Parameters:
-
| passphrase | the pass phrase to use to protect the key |
| pbe | the symmetric encryption algorithm to use to protect the key |
- See also:
- toPEMFile provides a convenient way to save the PEM encoded key to a file
-
fromPEM provides an inverse of toPEM, converting the PEM encoded key back to a PrivateKey
Export the key in Privacy Enhanced Mail (PEM) format to a file.
- Parameters:
-
| fileName | the name (and path, if required) that the key should be exported to. |
| passphrase | the pass phrase to use to protect the key |
| pbe | the symmetric encryption algorithm to use to protect the key |
- Returns:
- true if the export succeeds
- See also:
- toPEM provides a convenient way to save the PEM encoded key to a file
-
fromPEM provides an inverse of toPEM, converting the PEM encoded key back to a PrivateKey
- Examples:
- rsatest.cpp.
Import the key from Distinguished Encoding Rules (DER) format.
- Parameters:
-
| a | the array containing the DER representation of the key |
| passphrase | the pass phrase that is used to protect the key |
| result | a pointer to a ConvertResult, that if specified, will be set to reflect the result of the import |
| provider | the provider to use, if a particular provider is required |
- See also:
- toDER provides an inverse of fromDER, exporting the key to an array
-
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.
Import the key from Privacy Enhanced Mail (PEM) format.
- Parameters:
-
| s | the string containing the PEM representation of the key |
| passphrase | the pass phrase that is used to protect the key |
| result | a pointer to a ConvertResult, that if specified, will be set to reflect the result of the import |
| provider | the provider to use, if a particular provider is required |
- See also:
- toPEM provides an inverse of fromPEM, exporting the key to a string in PEM encoding.
-
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.
- Examples:
- sslservtest.cpp.
Import the key in Privacy Enhanced Mail (PEM) format from a file.
- Parameters:
-
| fileName | the name (and path, if required) of the file containing the PEM representation of the key |
| passphrase | the pass phrase that is used to protect the key |
| result | a pointer to a ConvertResult, that if specified, will be set to reflect the result of the import |
| provider | the provider to use, if a particular provider is required |
- See also:
- toPEMFile provides an inverse of fromPEMFile
-
fromPEM which allows import from a string
-
QCA::KeyLoader for an asynchronous loader approach.
- Note:
- there is also a constructor form, that allows you to create the key directly
-
This synchronous operation may require event handling, and so it must not be called from the same thread as an EventHandler.
- Examples:
- publickeyexample.cpp, and rsatest.cpp.
The documentation for this class was generated from the following file: