17#ifndef QGSAUTHCONFIG_H
18#define QGSAUTHCONFIG_H
23#include <QDomDocument>
29#include <QSslCertificate>
62 const QString
id()
const {
return mId; }
64 void setId(
const QString &
id ) { mId =
id; }
67 const QString
name()
const {
return mName; }
72 const QString
uri()
const {
return mUri; }
76 QString
method()
const {
return mMethod; }
88 bool isValid(
bool validateid =
false )
const;
94 const QString configString()
const;
100 void loadConfigString(
const QString &configstr );
117 void setConfig(
const QString &key,
const QString &value );
125 void setConfigList(
const QString &key,
const QStringList &value );
132 int removeConfig(
const QString &key );
139 QString config(
const QString &key,
const QString &defaultvalue = QString() )
const;
145 QStringList configList(
const QString &key )
const;
151 bool hasConfig(
const QString &key )
const;
164 static bool uriToResource(
const QString &accessurl, QString *resource,
bool withpath =
false );
173 bool writeXml( QDomElement &parentElement, QDomDocument &document );
180 bool readXml(
const QDomElement &element );
191 static const QString CONFIG_SEP;
192 static const QString CONFIG_KEY_SEP;
193 static const QString CONFIG_LIST_SEP;
195 static const int CONFIG_VERSION;
220 const QList<QSslCertificate> &
caChain = QList<QSslCertificate>() );
230 const QString &keyPath,
231 const QString &keyPass = QString(),
232 const QList<QSslCertificate> &
caChain = QList<QSslCertificate>() );
240 const QString &bundlepass = QString() );
249 const QString
certId()
const;
254 void setClientCert(
const QSslCertificate &cert );
259 void setClientKey(
const QSslKey &certkey );
262 const QList<QSslCertificate>
caChain()
const {
return mCaChain; }
264 void setCaChain(
const QList<QSslCertificate> &cachain ) { mCaChain = cachain; }
267 QSslCertificate mCert;
269 QList<QSslCertificate> mCaChain;
289 const QSslCertificate &cert,
290 const QSslKey &certkey,
291 const QList<QSslCertificate> &cachain = QList<QSslCertificate>( ) );
318 QList<QSslCertificate>
caChain()
const {
return mCaChain; }
328 QSslCertificate mCert;
330 QList<QSslCertificate> mCaChain;
363 const QList<QSslError> sslIgnoredErrors()
const;
397 const QString configString()
const;
399 void loadConfigString(
const QString &config = QString() );
406 QString mSslHostPort;
407 QSslCertificate mSslCert;
409 static QSsl::SslProtocol decodeSslProtocol(
const QString &protocol );
410 static QString encodeSslProtocol( QSsl::SslProtocol protocol );
412 QSsl::SslProtocol mSslProtocol;
414 QList<QSslError::SslError> mSslIgnoredErrors;
415 QSslSocket::PeerVerifyMode mSslPeerVerifyMode = QSslSocket::VerifyPeer;
416 int mSslPeerVerifyDepth = 0;
419 static const QString CONF_SEP;
void setSslProtocol(QSsl::SslProtocol protocol)
Sets SSL server protocol to use in connections.
void setSslCertificate(const QSslCertificate &cert)
Sets server certificate object.
void setSslHostPort(const QString &hostport)
Sets server host:port string.
int version() const
Version of the configuration (used for future upgrading).
QSsl::SslProtocol sslProtocol() const
SSL server protocol to use in connections.
void setSslPeerVerifyMode(QSslSocket::PeerVerifyMode mode)
Sets SSL client's peer verify mode to use in connections.
void setVersion(int version)
Sets version of the configuration (used for future upgrading).
void setSslPeerVerifyDepth(int depth)
Set number or SSL client's peer to verify in connections.
int sslPeerVerifyDepth() const
Number or SSL client's peer to verify in connections.
void setSslIgnoredErrorEnums(const QList< QSslError::SslError > &errors)
Sets SSL server errors (as enum list) to ignore in connections.
int qtVersion() const
Qt version when the configuration was made (SSL protocols may differ).
const QList< QSslError::SslError > sslIgnoredErrorEnums() const
SSL server errors (as enum list) to ignore in connections.
QSslSocket::PeerVerifyMode sslPeerVerifyMode() const
SSL client's peer verify mode to use in connections.
const QSslCertificate sslCertificate() const
Server certificate object.
const QString sslHostPort() const
Server host:port string.
void setQtVersion(int version)
Sets Qt version when the configuration was made (SSL protocols may differ).
QgsAuthConfigSslServer()
Construct a default SSL server configuration.
Configuration storage class for authentication method configurations.
QString method() const
Textual key of the associated authentication method.
const QString uri() const
A URI to auto-select a config when connecting to a resource.
void setName(const QString &name)
Sets name of configuration.
void setConfigMap(const QgsStringMap &map)
Set extended configuration map.
void setVersion(int version)
Sets version of the configuration.
const QString name() const
Gets name of configuration.
const QString id() const
Gets 'authcfg' 7-character alphanumeric ID of the config.
void clearConfigMap()
Clear all configs.
int version() const
Gets version of the configuration.
QgsStringMap configMap() const
Gets extended configuration, mapped to key/value pairs of QStrings.
QgsAuthMethodConfig(const QString &method=QString(), int version=0)
Construct a configuration for an authentication method.
void setMethod(const QString &method)
void setUri(const QString &uri)
void setId(const QString &id)
Sets auth config ID.
const QString certId() const
The sha hash of the client certificate.
bool isNull() const
Whether the bundle, either its certificate or private key, is null.
QgsPkiBundle(const QSslCertificate &clientCert=QSslCertificate(), const QSslKey &clientKey=QSslKey(), const QList< QSslCertificate > &caChain=QList< QSslCertificate >())
Construct a bundle from existing PKI components.
static const QgsPkiBundle fromPkcs12Paths(const QString &bundlepath, const QString &bundlepass=QString())
Construct a bundle of PKI components from a PKCS#12 file path.
const QSslKey clientKey() const
Private key object.
void setCaChain(const QList< QSslCertificate > &cachain)
Sets chain of Certificate Authorities for client certificate.
const QList< QSslCertificate > caChain() const
Chain of Certificate Authorities for client certificate.
static const QgsPkiBundle fromPemPaths(const QString &certPath, const QString &keyPath, const QString &keyPass=QString(), const QList< QSslCertificate > &caChain=QList< QSslCertificate >())
Construct a bundle of PKI components from PEM-formatted file paths.
const QSslCertificate clientCert() const
Client certificate object.
bool isValid() const
Whether the bundle is valid.
QList< QSslCertificate > caChain() const
caChain return the CA chain
void setClientCertKey(const QSslKey &certkey)
Sets private key object.
const QSslCertificate clientCert() const
Client certificate object.
const QgsAuthMethodConfig config() const
Authentication method configuration.
void setConfig(const QgsAuthMethodConfig &config)
Sets authentication method configuration.
const QSslKey clientCertKey() const
Private key object.
void setClientCert(const QSslCertificate &cert)
Sets client certificate object.
void setCaChain(const QList< QSslCertificate > &caChain)
setCaChain set the CA chain
QgsPkiConfigBundle(const QgsAuthMethodConfig &config, const QSslCertificate &cert, const QSslKey &certkey, const QList< QSslCertificate > &cachain=QList< QSslCertificate >())
Construct a bundle from existing PKI components and authentication method configuration.
bool isValid()
Whether the bundle is valid.
QMap< QString, QString > QgsStringMap
#define SIP_INSERT_QLIST_ENUM_CONVERSION_CODE(class_name,...)
QHash< QString, QgsAuthMethodConfig > QgsAuthMethodConfigsMap
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)