38 #include <QStringList> 40 #include <QSharedData> 41 #include <QSharedDataPointer> 94 class CertificateCollection;
99 class KeyStoreManager;
151 QCA_EXPORT
void init();
219 QCA_EXPORT
bool isSupported(
const char *features,
const QString &provider = QString());
229 QCA_EXPORT
bool isSupported(
const QStringList &features,
const QString &provider = QString());
423 QCA_EXPORT
void setProperty(
const QString &name,
const QVariant &value);
432 QCA_EXPORT QVariant
getProperty(
const QString &name);
442 QCA_EXPORT
void setProviderConfig(
const QString &name,
const QVariantMap &config);
481 QCA_EXPORT Logger *
logger();
493 #define QCA_logTextMessage(message, severity) \ 495 QCA::Logger::Severity s = severity; \ 496 QCA::Logger *l = QCA::logger (); \ 497 if (s <= l->level ()) { \ 498 l->logTextMessage (message, s); \ 512 #define QCA_logBinaryMessage(blob, severity) \ 514 QCA::Logger::Severity s = severity; \ 515 QCA::Logger *l = QCA::logger (); \ 516 if (s <= l->level ()) { \ 517 l->logBinaryMessage (blob, s); \ 571 QCA_EXPORT
void setAppName(
const QString &name);
593 QCA_EXPORT QString
arrayToHex(
const QByteArray &array);
620 QCA_EXPORT QByteArray
hexToArray(
const QString &hexString);
646 QCA_EXPORT QByteArray
base64ToArray(
const QString &base64String);
712 : _min( min ), _max(max), _multiple( multiple )
734 const int _min, _max, _multiple;
789 virtual int version()
const;
821 virtual QString name()
const = 0;
838 virtual QStringList features()
const = 0;
850 virtual QString credit()
const;
878 virtual Context *createContext(
const QString &type) = 0;
904 virtual QVariantMap defaultConfig()
const;
915 virtual void configChanged(
const QVariantMap &config);
941 QString type()
const;
946 virtual Context *clone()
const = 0;
956 bool sameProvider(
const Context *c)
const;
966 Context(
Provider *parent,
const QString &type);
973 Context(
const Context &from);
977 Context & operator=(
const Context &from);
1047 virtual void clear() = 0;
1103 virtual void clear() = 0;
1124 virtual bool ok()
const = 0;
1173 QString type()
const;
1216 void change(
const QString &type,
const QString &provider);
1237 Algorithm(
const QString &type,
const QString &provider);
1241 QSharedDataPointer<Private> d;
1287 bool isWeakDESKey();
1452 bool isNull()
const;
1462 Source source()
const;
1471 PasswordStyle passwordStyle()
const;
1493 QString fileName()
const;
1513 void setPasswordKeyStore(PasswordStyle pstyle,
const KeyStoreInfo &keyStoreInfo,
const KeyStoreEntry &keyStoreEntry,
void *ptr);
1526 void setPasswordData(PasswordStyle pstyle,
const QString &fileName,
void *ptr);
1543 QSharedDataPointer<Private> d;
1592 void submitPassword(
int id,
const SecureArray &password);
1603 void tokenOkay(
int id);
1614 void reject(
int id);
1626 void eventReady(
int id,
const QCA::Event &context);
1632 friend class Private;
1693 void waitForResponse();
1703 bool accepted()
const;
1718 void responseReady();
1724 friend class Private;
1771 void waitForResponse();
1778 bool accepted()
const;
1787 void responseReady();
1793 friend class Private;
An asynchronous event.
Definition: qca_core.h:1378
QCA_EXPORT Logger * logger()
Return a reference to the QCA Logger, which is used for diagnostics and error recording.
General superclass for an algorithm.
Definition: qca_core.h:1151
QCA_EXPORT void setProviderConfig(const QString &name, const QVariantMap &config)
Set provider configuration.
QCA_EXPORT void appendPluginDiagnosticText(const QString &text)
Add plugin diagnostic text.
QCA_EXPORT void deinit()
Clean up routine.
A simple logging system.
Definition: qca_support.h:954
QCA_EXPORT QStringList supportedFeatures()
Generate a list of all the supported features in plugins, and in built in capabilities ...
QCA_EXPORT bool haveSecureRandom()
Test if secure random is available.
QCA_EXPORT void clearPluginDiagnosticText()
Clear plugin diagnostic text.
KeyLength(int min, int max, int multiple)
Construct a KeyLength object.
Definition: qca_core.h:711
Header file with QCA version.
QCA_EXPORT QString pluginDiagnosticText()
Retrieve plugin diagnostic text.
User password / passphrase / PIN handler.
Definition: qca_core.h:1645
QCA_EXPORT void setProviderPriority(const QString &name, int priority)
Change the priority of a specified provider.
Source
Source of the event
Definition: qca_core.h:1404
QCA_EXPORT void scanForPlugins()
Scan for new plugins.
Algorithm provider.
Definition: qca_core.h:752
Key store information, outside of a KeyStore object.
Definition: qca_keystore.h:623
Interface class for password / passphrase / PIN and token handlers.
Definition: qca_core.h:1563
QCA_EXPORT bool haveSystemStore()
Test if QCA can access the root CA certificates.
Header file for "support" classes used in QCA.
QCA_EXPORT void setAppName(const QString &name)
Set the application name that will be used by SASL server mode.
Asking for a password, PIN or passphrase.
Definition: qca_core.h:1388
QCA_EXPORT ProviderList providers()
Return a list of the current providers.
QCA_EXPORT void unloadAllPlugins()
Unload the current plugins.
QCA_EXPORT QVariantMap getProviderConfig(const QString &name)
Retrieve provider configuration.
QCA_EXPORT const char * qcaVersionStr()
The current version of QCA.
QList< Provider * > ProviderList
Convenience representation for the plugin providers.
Definition: qca_core.h:100
General superclass for buffered computation algorithms.
Definition: qca_core.h:1039
QCA_EXPORT QByteArray base64ToArray(const QString &base64String)
Convert a QString containing a base64 representation of a byte array into a QByteArray.
Container for keys for symmetric encryption algorithms.
Definition: qca_core.h:1251
QCA_EXPORT bool unloadProvider(const QString &name)
Unload specified provider.
Container for authentication tag.
Definition: qca_core.h:1334
Simple container for acceptable key lengths
Definition: qca_core.h:700
QCA_EXPORT Provider * defaultProvider()
Return the default provider.
QCA_EXPORT bool isSupported(const char *features, const QString &provider=QString())
Test if a capability (algorithm) is available.
User should be prompted for a "Passphrase".
Definition: qca_core.h:1421
PasswordStyle
password variation
Definition: qca_core.h:1418
Preprocessor magic to allow export of library symbols.
QCA_EXPORT QStringList defaultFeatures()
Generate a list of the built in features.
mlock and drop root
Definition: qca_core.h:130
QCA_EXPORT bool insertProvider(Provider *p, int priority=0)
Add a provider to the current list of providers.
QCA_EXPORT int providerPriority(const QString &name)
Return the priority of a specified provider.
Container for initialisation vectors and nonces.
Definition: qca_core.h:1297
mlock and drop root if available, else mmap
Definition: qca_core.h:129
Direction
Direction settings for symmetric algorithms.
Definition: qca_core.h:140
KeyStore generated the event.
Definition: qca_core.h:1406
QCA - the Qt Cryptographic Architecture.
Definition: qca_basic.h:41
QCA_EXPORT QStringList pluginPaths()
Retrieve plugin paths.
Type
Type of event
Definition: qca_core.h:1386
Base class to use for primitive provider contexts.
Definition: qca_core.h:997
Single entry in a KeyStore
Definition: qca_keystore.h:140
QCA_EXPORT Provider * findProvider(const QString &name)
Return the named provider, or 0 if not found.
QCA_EXPORT CertificateCollection systemStore()
Get system-wide root Certificate Authority (CA) certificates.
QCA_EXPORT QString arrayToHex(const QByteArray &array)
Convert a byte array to printable hexadecimal representation.
QCA_EXPORT QString arrayToBase64(const QByteArray &array)
Convert a byte array to printable base64 representation.
QCA_EXPORT void init()
Initialise QCA.
int minimum() const
Obtain the minimum length for the key, in bytes.
Definition: qca_core.h:718
Secure array of bytes.
Definition: qca_tools.h:316
QCA_EXPORT QByteArray hexToArray(const QString &hexString)
Convert a QString containing a hexadecimal representation of a byte array into a QByteArray ...
QCA_EXPORT int qcaVersion()
The current version of QCA.
User should be prompted for a "Password".
Definition: qca_core.h:1420
QCA_EXPORT int qcaMinorVersion()
The current version of QCA.
QCA_EXPORT void setGlobalRandomProvider(const QString &provider)
Change the global random number provider.
Operate in the "forward" direction; for example, encrypting.
Definition: qca_core.h:142
General superclass for filtering transformation algorithms.
Definition: qca_core.h:1095
Operate in the "reverse" direction; for example, decrypting.
Definition: qca_core.h:143
mlock, retaining root privileges
Definition: qca_core.h:131
User token handler.
Definition: qca_core.h:1737
Convenience method for initialising and cleaning up QCA.
Definition: qca_core.h:659
MemoryMode
Mode settings for memory allocation.
Definition: qca_core.h:127
QCA_EXPORT int qcaMajorVersion()
The current version of QCA.
QCA_EXPORT void saveProviderConfig(const QString &name)
Save provider configuration to persistent storage.
QCA_EXPORT QString globalRandomProvider()
Return the name of the global random number provider.
Internal context class used for the plugin.
QCA_EXPORT void setProperty(const QString &name, const QVariant &value)
Set a global property.
QCA_EXPORT QVariant getProperty(const QString &name)
Retrieve a global property.
int maximum() const
Obtain the maximum length for the key, in bytes.
Definition: qca_core.h:723
int multiple() const
Return the number of bytes that the key must be a multiple of.
Definition: qca_core.h:731
QCA_EXPORT bool haveSecureMemory()
Test if secure storage memory is available.
QCA_EXPORT int qcaPatchVersion()
The current version of QCA.
Array of bytes that may be optionally secured.
Definition: qca_tools.h:90
QCA_EXPORT QString appName()
Get the application name that will be used by SASL server mode.