17 #ifndef QGSAUTHCONFIG_H 
   18 #define QGSAUTHCONFIG_H 
   20 #include "qgis_core.h" 
   24 #include <QDomElement> 
   25 #include <QDomDocument> 
   28 #include <QSslCertificate> 
   64     const QString 
id()
 const { 
return mId; }
 
   66     void setId( 
const QString &
id ) { mId = id; }
 
   69     const QString 
name()
 const { 
return mName; }
 
   71     void setName( 
const QString &name ) { mName = name; }
 
   74     const QString 
uri()
 const { 
return mUri; }
 
   75     void setUri( 
const QString &uri ) { mUri = uri; }
 
   78     QString 
method()
 const { 
return mMethod; }
 
   79     void setMethod( 
const QString &method ) { mMethod = method; }
 
   90     bool isValid( 
bool validateid = 
false ) 
const;
 
   96     const QString configString() 
const;
 
  102     void loadConfigString( 
const QString &configstr );
 
  119     void setConfig( 
const QString &key, 
const QString &value );
 
  127     void setConfigList( 
const QString &key, 
const QStringList &value );
 
  134     int removeConfig( 
const QString &key );
 
  141     QString config( 
const QString &key, 
const QString &defaultvalue = QString() ) 
const;
 
  147     QStringList configList( 
const QString &key ) 
const;
 
  153     bool hasConfig( 
const QString &key ) 
const;
 
  166     static bool uriToResource( 
const QString &accessurl, QString *resource, 
bool withpath = 
false );
 
  175     bool writeXml( QDomElement &parentElement, QDomDocument &document );
 
  182     bool readXml( 
const QDomElement &element );
 
  193     static const QString CONFIG_SEP;
 
  194     static const QString CONFIG_KEY_SEP;
 
  195     static const QString CONFIG_LIST_SEP;
 
  197     static const int CONFIG_VERSION;
 
  220     QgsPkiBundle( 
const QSslCertificate &clientCert = QSslCertificate(),
 
  221                   const QSslKey &clientKey = QSslKey(),
 
  222                   const QList<QSslCertificate> &caChain = QList<QSslCertificate>() );
 
  231     static const QgsPkiBundle fromPemPaths( 
const QString &certPath,
 
  232                                             const QString &keyPath,
 
  233                                             const QString &keyPass = QString(),
 
  234                                             const QList<QSslCertificate> &caChain = QList<QSslCertificate>() );
 
  241     static const QgsPkiBundle fromPkcs12Paths( 
const QString &bundlepath,
 
  242         const QString &bundlepass = QString() );
 
  248     bool isValid() 
const;
 
  251     const QString certId() 
const;
 
  256     void setClientCert( 
const QSslCertificate &cert );
 
  261     void setClientKey( 
const QSslKey &certkey );
 
  264     const QList<QSslCertificate> 
caChain()
 const { 
return mCaChain; }
 
  266     void setCaChain( 
const QList<QSslCertificate> &cachain ) { mCaChain = cachain; }
 
  269     QSslCertificate mCert;
 
  271     QList<QSslCertificate> mCaChain;
 
  291                         const QSslCertificate &cert,
 
  292                         const QSslKey &certkey,
 
  293                         const QList<QSslCertificate> &cachain = QList<QSslCertificate>( ) );
 
  320     QList<QSslCertificate> 
caChain()
 const { 
return mCaChain; }
 
  326     void setCaChain( 
const QList<QSslCertificate> &caChain ) { mCaChain = caChain; }
 
  330     QSslCertificate mCert;
 
  332     QList<QSslCertificate> mCaChain;
 
  338 % MappedType QList<QSslError::SslError>
 
  344   % ConvertFromTypeCode
 
  348   if ( ( l = PyList_New( sipCpp->size() ) ) == NULL )
 
  352   QList<QSslError::SslError>::iterator it = sipCpp->begin();
 
  353   for ( 
int i = 0; it != sipCpp->end(); ++it, ++i )
 
  357     if ( ( tobj = sipConvertFromEnum( *it, sipType_QSslError_SslError ) ) == NULL )
 
  362     PyList_SET_ITEM( l, i, tobj );
 
  370   if ( sipIsErr == NULL )
 
  371     return PyList_Check( sipPy );
 
  373   QList<QSslError::SslError> *qlist = 
new QList<QSslError::SslError>;
 
  375   for ( 
int i = 0; i < PyList_GET_SIZE( sipPy ); ++i )
 
  377     *qlist << ( QSslError::SslError )SIPLong_AsLong( PyList_GET_ITEM( sipPy, i ) );
 
  381   return sipGetState( sipTransferObj );
 
  414     const QList<QSslError> sslIgnoredErrors() 
const;
 
  448     const QString configString() 
const;
 
  450     void loadConfigString( 
const QString &config = QString() );
 
  457     QString mSslHostPort;
 
  458     QSslCertificate mSslCert;
 
  460     QSsl::SslProtocol mSslProtocol;
 
  462     QList<QSslError::SslError> mSslIgnoredErrors;
 
  463     QSslSocket::PeerVerifyMode mSslPeerVerifyMode = QSslSocket::VerifyPeer;
 
  464     int mSslPeerVerifyDepth = 0;
 
  467     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)