42 #include <QSharedData> 43 #include <QSharedDataPointer> 45 #include <QStringList> 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);
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);
714 , _multiple(multiple)
746 const int _min, _max, _multiple;
801 virtual int version()
const;
833 virtual QString name()
const = 0;
850 virtual QStringList features()
const = 0;
862 virtual QString credit()
const;
890 virtual Context *createContext(
const QString &type) = 0;
916 virtual QVariantMap defaultConfig()
const;
927 virtual void configChanged(
const QVariantMap &config);
948 Provider *provider()
const;
953 QString type()
const;
958 virtual Context *clone()
const = 0;
968 bool sameProvider(
const Context *c)
const;
978 Context(Provider *parent,
const QString &type);
1059 virtual void clear() = 0;
1115 virtual void clear() = 0;
1136 virtual bool ok()
const = 0;
1185 QString type()
const;
1193 Provider *provider()
const;
1228 void change(
const QString &type,
const QString &provider);
1249 Algorithm(
const QString &type,
const QString &provider);
1253 QSharedDataPointer<Private> d;
1299 bool isWeakDESKey();
1464 bool isNull()
const;
1505 QString fileName()
const;
1541 void setPasswordData(
PasswordStyle pstyle,
const QString &fileName,
void *ptr);
1558 QSharedDataPointer<Private> d;
1607 void submitPassword(
int id,
const SecureArray &password);
1618 void tokenOkay(
int id);
1629 void reject(
int id);
1641 void eventReady(
int id,
const QCA::Event &context);
1647 friend class Private;
1709 void waitForResponse();
1719 bool accepted()
const;
1734 void responseReady();
1740 friend class Private;
1787 void waitForResponse();
1794 bool accepted()
const;
1803 void responseReady();
1809 friend class Private;
An asynchronous event.
Definition: qca_core.h:1390
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:1163
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:961
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:1660
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:1416
QCA_EXPORT void scanForPlugins()
Scan for new plugins.
Algorithm provider.
Definition: qca_core.h:764
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:1578
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:1400
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.
General superclass for buffered computation algorithms.
Definition: qca_core.h:1051
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:1263
QCA_EXPORT bool unloadProvider(const QString &name)
Unload specified provider.
Container for authentication tag.
Definition: qca_core.h:1346
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:1433
PasswordStyle
password variation
Definition: qca_core.h:1430
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:1309
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:1418
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:1398
Base class to use for primitive provider contexts.
Definition: qca_core.h:1009
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:721
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.
QList< Provider * > ProviderList
Convenience representation for the plugin providers.
Definition: qca_core.h:100
User should be prompted for a "Password".
Definition: qca_core.h:1432
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:1107
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:1753
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:729
int multiple() const
Return the number of bytes that the key must be a multiple of.
Definition: qca_core.h:740
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.