16#ifndef QGSAUTHCONFIGURATIONSTORAGEDB_H 
   17#define QGSAUTHCONFIGURATIONSTORAGEDB_H 
   23#include <QRecursiveMutex> 
   24#include <QSqlDatabase> 
   75    QSqlDatabase authDatabaseConnection() 
const;
 
   79    QString 
name() 
const override;
 
   80    QString 
type() 
const override;
 
   82    QString 
id() 
const override;
 
   95    bool erase() 
override;
 
   98    QList<QgsAuthConfigurationStorage::SettingParameter> 
settingsParameters() 
const override;
 
  100    bool storeCertIdentity( 
const QSslCertificate &cert, 
const QString &keyPem ) 
override;
 
  121    const QMap<QString, QgsAuthCertUtils::CertTrustPolicy> 
caCertsPolicy() 
const override;
 
  122    const QList<QSslCertificate> 
caCerts() 
const override;
 
  129    const QList<QgsAuthConfigurationStorage::MasterPasswordConfig> 
masterPasswords( ) 
const override;
 
  138    virtual QString methodConfigTableName() 
const;
 
  143    virtual QString authSettingsTableName() 
const;
 
  148    virtual QString certIdentityTableName() 
const;
 
  153    virtual QString certAuthorityTableName() 
const;
 
  158    virtual QString sslCertCustomConfigTableName() 
const;
 
  163    virtual QString certTrustPolicyTableName() 
const;
 
  168    virtual QString masterPasswordTableName() 
const;
 
  174    virtual bool tableExists( 
const QString &table ) 
const;
 
  182    virtual QString quotedQualifiedIdentifier( 
const QString &identifier, 
bool isIndex = 
false ) 
const;
 
  186    bool clearTables( 
const QStringList &tables );
 
  188    static const QMap<QString, QVariant> uriToSettings( 
const QString &uri );
 
  189    mutable QMap<QThread *, QMetaObject::Connection> mConnectedThreads;
 
  197    bool authDbOpen() 
const;
 
  203    bool authDbQuery( QSqlQuery *query, 
const QString &sql = QString() ) 
const;
 
  209    bool authDbTransactionQuery( QSqlQuery *query );
 
  215    bool createConfigTables();
 
  221    bool createCertTables();
 
  226    virtual void checkCapabilities();
 
  241    bool mIsReady = 
false;
 
 
CertTrustPolicy
Type of certificate trust policy.
 
Configuration container for SSL server connection exceptions or overrides.
 
QSqlDatabase based implementation of QgsAuthConfigurationStorage.
 
Abstract class that defines the interface for all authentication configuration storage implementation...
 
virtual bool storeAuthSetting(const QString &key, const QString &value)=0
Store an authentication setting in the storage.
 
virtual QgsAuthMethodConfig loadMethodConfig(const QString &id, QString &payload, bool full=false) const =0
Load an authentication configuration from the database.
 
virtual const QgsAuthConfigSslServer loadSslCertCustomConfigByHost(const QString &hostport) const =0
Loads an SSL certificate custom config by hostport (host:port)
 
virtual bool storeCertTrustPolicy(const QSslCertificate &cert, QgsAuthCertUtils::CertTrustPolicy policy)=0
Store certificate trust policy.
 
virtual QString loadAuthSetting(const QString &key) const =0
Load an authentication setting from the storage.
 
virtual bool removeSslCertCustomConfig(const QString &id, const QString &hostport)=0
Remove an SSL certificate custom config.
 
virtual bool removeCertTrustPolicy(const QSslCertificate &cert)=0
Remove certificate trust policy.
 
virtual bool sslCertCustomConfigExists(const QString &id, const QString &hostport)=0
Check if SSL certificate custom config exists.
 
virtual QString description() const =0
Returns a human readable localized description of the storage implementation (e.g.
 
virtual bool certTrustPolicyExists(const QSslCertificate &cert) const =0
Check if certificate trust policy exists.
 
virtual bool erase()=0
Completely erase the storage removing all configurations/certs/settings etc.
 
virtual const QSslCertificate loadCertAuthority(const QString &id) const =0
certAuthority get a certificate authority by id (sha hash)
 
virtual bool storeCertAuthority(const QSslCertificate &cert)=0
Store a certificate authority.
 
virtual bool removeMethodConfig(const QString &id)=0
Removes the authentication configuration with the specified id.
 
virtual QgsAuthMethodConfigsMap authMethodConfigsWithPayload() const =0
Returns a mapping of authentication configurations available from this storage.
 
virtual const QMap< QString, QgsAuthCertUtils::CertTrustPolicy > caCertsPolicy() const =0
Returns the map of CA certificates hashes in the storages and their trust policy.
 
virtual QStringList sslCertCustomConfigIds() const =0
Returns the list of SSL certificate custom config ids.
 
virtual QgsAuthMethodConfigsMap authMethodConfigs(const QStringList &allowedMethods=QStringList()) const =0
Returns a mapping of authentication configurations available from this storage.
 
virtual bool removeCertIdentity(const QSslCertificate &cert)=0
Remove a certificate identity from the storage.
 
virtual bool isReady() const =0
Returns true is the storage is ready to be used.
 
virtual QString type() const =0
Returns the type of the storage implementation.
 
virtual QStringList certAuthorityIds() const =0
Returns the list of certificate authority IDs in the storage.
 
virtual bool initialize()
Initializes the storage.
 
virtual bool methodConfigExists(const QString &id) const =0
Check if an authentication configuration exists in the storage.
 
virtual bool storeSslCertCustomConfig(const QgsAuthConfigSslServer &config)=0
Store an SSL certificate custom config.
 
virtual bool removeCertAuthority(const QSslCertificate &cert)=0
Remove a certificate authority.
 
virtual const QList< QSslCertificate > certIdentities() const =0
certIdentities get certificate identities
 
virtual QList< QgsAuthConfigurationStorage::SettingParameter > settingsParameters() const =0
Returns a list of the settings accepted by the storage.
 
virtual bool certIdentityExists(const QString &id) const =0
Check if the certificate identity exists.
 
virtual QgsAuthCertUtils::CertTrustPolicy loadCertTrustPolicy(const QSslCertificate &cert) const =0
Load certificate trust policy.
 
virtual QStringList certIdentityIds() const =0
certIdentityIds get list of certificate identity ids from database
 
virtual const QSslCertificate loadCertIdentity(const QString &id) const =0
certIdentity get a certificate identity by id (sha hash)
 
virtual bool storeCertIdentity(const QSslCertificate &cert, const QString &keyPem)=0
Store a certificate identity in the storage.
 
virtual QString name() const =0
Returns a human readable localized short name of the storage implementation (e.g "SQLite").
 
virtual bool clearMethodConfigs()=0
Remove all authentications configurations from the storage.
 
virtual bool storeMethodConfig(const QgsAuthMethodConfig &config, const QString &payload)=0
Store an authentication config in the database.
 
virtual bool clearMasterPasswords()=0
Remove all master passwords from the database.
 
virtual const QList< QgsAuthConfigSslServer > sslCertCustomConfigs() const =0
sslCertCustomConfigs get SSL certificate custom configs
 
virtual bool authSettingExists(const QString &key) const =0
Check if an authentication setting exists in the storage.
 
virtual const QList< QSslCertificate > caCerts() const =0
Returns the list of CA certificates in the storage.
 
virtual bool certAuthorityExists(const QSslCertificate &cert) const =0
Check if a certificate authority exists.
 
virtual const QPair< QSslCertificate, QString > loadCertIdentityBundle(const QString &id) const =0
Returns a certificate identity bundle by id (sha hash).
 
virtual bool storeMasterPassword(const QgsAuthConfigurationStorage::MasterPasswordConfig &config)=0
Store a master password in the database.
 
virtual QString id() const =0
Returns the unique identifier of the storage object.
 
virtual const QList< QgsAuthConfigurationStorage::MasterPasswordConfig > masterPasswords() const =0
Returns the list of (encrypted) master passwords stored in the database.
 
virtual const QgsAuthConfigSslServer loadSslCertCustomConfig(const QString &id, const QString &hostport) const =0
Loads an SSL certificate custom config by id (sha hash) and hostport (host:port)
 
virtual bool removeAuthSetting(const QString &key)=0
Remove an authentication setting from the storage.
 
Configuration storage class for authentication method configurations.
 
QHash< QString, QgsAuthMethodConfig > QgsAuthMethodConfigsMap
 
Structure that holds the (encrypted) master password elements.