17 #ifndef QGSAUTHCONFIG_H 
   18 #define QGSAUTHCONFIG_H 
   20 #include "qgis_core.h" 
   24 #include <QDomElement> 
   25 #include <QDomDocument> 
   28 #include <QSslCertificate> 
   62     const QString 
id()
 const { 
return mId; }
 
   64     void setId( 
const QString &
id ) { mId = id; }
 
   67     const QString 
name()
 const { 
return mName; }
 
   69     void setName( 
const QString &name ) { mName = name; }
 
   72     const QString 
uri()
 const { 
return mUri; }
 
   73     void setUri( 
const QString &uri ) { mUri = uri; }
 
   76     QString 
method()
 const { 
return mMethod; }
 
   77     void setMethod( 
const QString &method ) { mMethod = method; }
 
   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;
 
  218     QgsPkiBundle( 
const QSslCertificate &clientCert = QSslCertificate(),
 
  219                   const QSslKey &clientKey = QSslKey(),
 
  220                   const QList<QSslCertificate> &caChain = QList<QSslCertificate>() );
 
  229     static const QgsPkiBundle fromPemPaths( 
const QString &certPath,
 
  230                                             const QString &keyPath,
 
  231                                             const QString &keyPass = QString(),
 
  232                                             const QList<QSslCertificate> &caChain = QList<QSslCertificate>() );
 
  239     static const QgsPkiBundle fromPkcs12Paths( 
const QString &bundlepath,
 
  240         const QString &bundlepass = QString() );
 
  246     bool isValid() 
const;
 
  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; }
 
  324     void setCaChain( 
const QList<QSslCertificate> &caChain ) { mCaChain = caChain; }
 
  328     QSslCertificate mCert;
 
  330     QList<QSslCertificate> mCaChain;
 
  336 % MappedType QList<QSslError::SslError>
 
  342   % ConvertFromTypeCode
 
  346   if ( ( l = PyList_New( sipCpp->size() ) ) == NULL )
 
  350   QList<QSslError::SslError>::iterator it = sipCpp->begin();
 
  351   for ( 
int i = 0; it != sipCpp->end(); ++it, ++i )
 
  355     if ( ( tobj = sipConvertFromEnum( *it, sipType_QSslError_SslError ) ) == NULL )
 
  360     PyList_SET_ITEM( l, i, tobj );
 
  368   if ( sipIsErr == NULL )
 
  369     return PyList_Check( sipPy );
 
  371   QList<QSslError::SslError> *qlist = 
new QList<QSslError::SslError>;
 
  373   for ( 
int i = 0; i < PyList_GET_SIZE( sipPy ); ++i )
 
  375     *qlist << ( QSslError::SslError )SIPLong_AsLong( PyList_GET_ITEM( sipPy, i ) );
 
  379   return sipGetState( sipTransferObj );
 
  412     const QList<QSslError> sslIgnoredErrors() 
const;
 
  446     const QString configString() 
const;
 
  448     void loadConfigString( 
const QString &config = QString() );
 
  455     QString mSslHostPort;
 
  456     QSslCertificate mSslCert;
 
  458     QSsl::SslProtocol mSslProtocol;
 
  460     QList<QSslError::SslError> mSslIgnoredErrors;
 
  461     QSslSocket::PeerVerifyMode mSslPeerVerifyMode = QSslSocket::VerifyPeer;
 
  462     int mSslPeerVerifyDepth = 0;
 
  465     static const QString CONF_SEP;
 
Configuration container for SSL server connection exceptions or overrides.
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.
const QList< QSslError::SslError > sslIgnoredErrorEnums() const
SSL server errors (as enum list) to ignore 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)
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)
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.
void setMethod(const QString &method)
void setUri(const QString &uri)
void setId(const QString &id)
Sets auth config ID.
Storage set for PKI bundle: SSL certificate, key, optional CA cert chain.
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.
const QSslCertificate clientCert() const
Client certificate object.
Storage set for constructed SSL certificate, key, associated with an authentication config.
void setClientCertKey(const QSslKey &certkey)
Sets private key object.
QList< QSslCertificate > caChain() const
caChain return the CA chain
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
QMap< QString, QString > QgsStringMap
QHash< QString, QgsAuthMethodConfig > QgsAuthMethodConfigsMap
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)