QXmpp Version: 1.5.6
|
The QXmppTrustManager manages end-to-end encryption trust decisions. More...
Public Member Functions | |
QXmppTrustManager (QXmppTrustStorage *trustStorage) | |
QXmppTask< void > | setSecurityPolicy (const QString &encryption, QXmpp::TrustSecurityPolicy securityPolicy) |
QXmppTask< void > | resetSecurityPolicy (const QString &encryption) |
QXmppTask< QXmpp::TrustSecurityPolicy > | securityPolicy (const QString &encryption) |
QXmppTask< void > | setOwnKey (const QString &encryption, const QByteArray &keyId) |
QXmppTask< void > | resetOwnKey (const QString &encryption) |
QXmppTask< QByteArray > | ownKey (const QString &encryption) |
QXmppTask< void > | addKeys (const QString &encryption, const QString &keyOwnerJid, const QList< QByteArray > &keyIds, QXmpp::TrustLevel trustLevel=QXmpp::TrustLevel::AutomaticallyDistrusted) |
QXmppTask< void > | removeKeys (const QString &encryption, const QList< QByteArray > &keyIds) |
QXmppTask< void > | removeKeys (const QString &encryption, const QString &keyOwnerJid) |
QXmppTask< void > | removeKeys (const QString &encryption) |
QXmppTask< QHash< QXmpp::TrustLevel, QMultiHash< QString, QByteArray > > > | keys (const QString &encryption, QXmpp::TrustLevels trustLevels={}) |
QXmppTask< QHash< QString, QHash< QByteArray, QXmpp::TrustLevel > > > | keys (const QString &encryption, const QList< QString > &keyOwnerJids, QXmpp::TrustLevels trustLevels={}) |
QXmppTask< bool > | hasKey (const QString &encryption, const QString &keyOwnerJid, QXmpp::TrustLevels trustLevels) |
QXmppTask< void > | setTrustLevel (const QString &encryption, const QMultiHash< QString, QByteArray > &keyIds, QXmpp::TrustLevel trustLevel) |
QXmppTask< void > | setTrustLevel (const QString &encryption, const QList< QString > &keyOwnerJids, QXmpp::TrustLevel oldTrustLevel, QXmpp::TrustLevel newTrustLevel) |
QXmppTask< QXmpp::TrustLevel > | trustLevel (const QString &encryption, const QString &keyOwnerJid, const QByteArray &keyId) |
QXmppTask< void > | resetAll (const QString &encryption) |
Q_SIGNAL void | trustLevelsChanged (const QHash< QString, QMultiHash< QString, QByteArray > > &modifiedKeys) |
Public Member Functions inherited from QXmppClientExtension | |
QXmppClientExtension () | |
virtual QStringList | discoveryFeatures () const |
virtual QList< QXmppDiscoveryIq::Identity > | discoveryIdentities () const |
virtual bool | handleStanza (const QDomElement &stanza) |
You need to implement this method to process incoming XMPP stanzas. | |
virtual bool | handleStanza (const QDomElement &stanza, const std::optional< QXmppE2eeMetadata > &e2eeMetadata) |
You need to implement this method to process incoming XMPP stanzas. | |
Public Member Functions inherited from QXmppLoggable | |
QXmppLoggable (QObject *parent=nullptr) | |
Additional Inherited Members | |
Signals inherited from QXmppLoggable | |
void | setGauge (const QString &gauge, double value) |
Sets the given gauge to value. | |
void | logMessage (QXmppLogger::MessageType type, const QString &msg) |
This signal is emitted to send logging messages. | |
void | updateCounter (const QString &counter, qint64 amount=1) |
Updates the given counter by amount. | |
Protected Member Functions inherited from QXmppClientExtension | |
QXmppClient * | client () |
virtual void | setClient (QXmppClient *client) |
void | injectIq (const QDomElement &element, const std::optional< QXmppE2eeMetadata > &e2eeMetadata) |
bool | injectMessage (QXmppMessage &&message) |
Protected Member Functions inherited from QXmppLoggable | |
void | debug (const QString &message) |
void | info (const QString &message) |
void | warning (const QString &message) |
void | logReceived (const QString &message) |
void | logSent (const QString &message) |
The QXmppTrustManager manages end-to-end encryption trust decisions.
QXmppTrustManager::QXmppTrustManager | ( | QXmppTrustStorage * | trustStorage | ) |
Constructs a trust manager.
trustStorage | trust storage implementation |
QXmppTask< void > QXmppTrustManager::addKeys | ( | const QString & | encryption, |
const QString & | keyOwnerJid, | ||
const QList< QByteArray > & | keyIds, | ||
QXmpp::TrustLevel | trustLevel = QXmpp::TrustLevel::AutomaticallyDistrusted |
||
) |
Adds keys.
encryption | encryption protocol namespace |
keyOwnerJid | key owner's bare JID |
keyIds | IDs of the keys |
trustLevel | trust level of the keys |
QXmppTask< bool > QXmppTrustManager::hasKey | ( | const QString & | encryption, |
const QString & | keyOwnerJid, | ||
QXmpp::TrustLevels | trustLevels | ||
) |
Returns whether at least one key of a key owner with a specific trust level is stored.
encryption | encryption protocol namespace |
keyOwnerJid | key owner's bare JID |
trustLevels | possible trust levels of the key |
QXmppTask< QHash< QString, QHash< QByteArray, QXmpp::TrustLevel > > > QXmppTrustManager::keys | ( | const QString & | encryption, |
const QList< QString > & | keyOwnerJids, | ||
QXmpp::TrustLevels | trustLevels = {} |
||
) |
Returns the IDs of keys mapped to their trust levels for specific key owners.
If no trust levels are passed, all keys for encryption and keyOwnerJids are returned.
encryption | encryption protocol namespace |
keyOwnerJids | key owners' bare JIDs |
trustLevels | trust levels of the keys |
QXmppTask< QHash< QXmpp::TrustLevel, QMultiHash< QString, QByteArray > > > QXmppTrustManager::keys | ( | const QString & | encryption, |
QXmpp::TrustLevels | trustLevels = {} |
||
) |
Returns the JIDs of all key owners mapped to the IDs of their keys with specific trust levels.
If no trust levels are passed, all keys for encryption are returned.
encryption | encryption protocol namespace |
trustLevels | trust levels of the keys |
QXmppTask< QByteArray > QXmppTrustManager::ownKey | ( | const QString & | encryption | ) |
Returns the own key (i.e., the key used by this client instance) for an encryption protocol.
encryption | encryption protocol namespace |
QXmppTask< void > QXmppTrustManager::removeKeys | ( | const QString & | encryption | ) |
Removes all keys for encryption.
encryption | encryption protocol namespace |
QXmppTask< void > QXmppTrustManager::removeKeys | ( | const QString & | encryption, |
const QList< QByteArray > & | keyIds | ||
) |
Removes keys.
encryption | encryption protocol namespace |
keyIds | IDs of the keys |
QXmppTask< void > QXmppTrustManager::removeKeys | ( | const QString & | encryption, |
const QString & | keyOwnerJid | ||
) |
Removes all keys of a key owner.
encryption | encryption protocol namespace |
keyOwnerJid | key owner's bare JID |
QXmppTask< void > QXmppTrustManager::resetAll | ( | const QString & | encryption | ) |
Resets all data for encryption.
encryption | encryption protocol namespace |
QXmppTask< void > QXmppTrustManager::resetOwnKey | ( | const QString & | encryption | ) |
Resets the own key (i.e., the key used by this client instance) for an encryption protocol.
encryption | encryption protocol namespace |
QXmppTask< void > QXmppTrustManager::resetSecurityPolicy | ( | const QString & | encryption | ) |
Resets the security policy for an encryption protocol.
encryption | encryption protocol namespace |
QXmppTask< TrustSecurityPolicy > QXmppTrustManager::securityPolicy | ( | const QString & | encryption | ) |
Returns the security policy for an encryption protocol.
encryption | encryption protocol namespace |
QXmppTask< void > QXmppTrustManager::setOwnKey | ( | const QString & | encryption, |
const QByteArray & | keyId | ||
) |
Sets the own key (i.e., the key used by this client instance) for an encryption protocol.
encryption | encryption protocol namespace |
keyId | ID of the key |
QXmppTask< void > QXmppTrustManager::setSecurityPolicy | ( | const QString & | encryption, |
QXmpp::TrustSecurityPolicy | securityPolicy | ||
) |
Sets the security policy for an encryption protocol.
encryption | encryption protocol namespace |
securityPolicy | security policy being applied |
QXmppTask< void > QXmppTrustManager::setTrustLevel | ( | const QString & | encryption, |
const QList< QString > & | keyOwnerJids, | ||
QXmpp::TrustLevel | oldTrustLevel, | ||
QXmpp::TrustLevel | newTrustLevel | ||
) |
Sets the trust level of keys specified by their key owner and trust level.
encryption | encryption protocol namespace |
keyOwnerJids | key owners' bare JIDs |
oldTrustLevel | trust level being changed |
newTrustLevel | trust level being set |
QXmppTask< void > QXmppTrustManager::setTrustLevel | ( | const QString & | encryption, |
const QMultiHash< QString, QByteArray > & | keyIds, | ||
QXmpp::TrustLevel | trustLevel | ||
) |
Sets the trust level of keys.
If a key is not stored, it is added to the storage.
encryption | encryption protocol namespace |
keyIds | key owners' bare JIDs mapped to the IDs of their keys |
trustLevel | trust level being set |
QXmppTask< TrustLevel > QXmppTrustManager::trustLevel | ( | const QString & | encryption, |
const QString & | keyOwnerJid, | ||
const QByteArray & | keyId | ||
) |
Returns the trust level of a key.
If the key is not stored, the trust in that key is undecided.
encryption | encryption protocol namespace |
keyOwnerJid | key owner's bare JID |
keyId | ID of the key |
QXmppTrustManager::trustLevelsChanged | ( | const QHash< QString, QMultiHash< QString, QByteArray > > & | modifiedKeys | ) |
Emitted when the trust levels of keys changed because setTrustLevel()
added a new key or modified an existing one.
modifiedKeys | key owners' bare JIDs mapped to their modified keys for specific encryption protocol namespaces |