diff options
Diffstat (limited to 'src/network/ssl/qtlsbackend_p.h')
-rw-r--r-- | src/network/ssl/qtlsbackend_p.h | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/src/network/ssl/qtlsbackend_p.h b/src/network/ssl/qtlsbackend_p.h index 5928dee2c7..300d12c259 100644 --- a/src/network/ssl/qtlsbackend_p.h +++ b/src/network/ssl/qtlsbackend_p.h @@ -85,7 +85,7 @@ class QUdpSocket; class QIODevice; class QSslKey; -namespace QSsl { +namespace QTlsPrivate { // The class TlsKey encapsulates key's data (DER) or backend-specific // data-structure, like RSA/DSA/DH structs in OpenSSL. @@ -99,6 +99,9 @@ class TlsKey { public: virtual ~TlsKey(); + using KeyType = QSsl::KeyType; + using KeyAlgorithm = QSsl::KeyAlgorithm; + virtual void decodeDer(KeyType type, KeyAlgorithm algorithm, const QByteArray &der, const QByteArray &passPhrase, bool deepClear) = 0; virtual void decodePem(KeyType type, KeyAlgorithm algorithm, const QByteArray &pem, @@ -121,7 +124,6 @@ public: // Needed by QSslKeyPrivate::pemFromDer() for non-OpenSSL backends. virtual bool isPkcs8() const = 0; - using Cipher = QSsl::Cipher; virtual QByteArray decrypt(Cipher cipher, const QByteArray &data, const QByteArray &key, const QByteArray &iv) const = 0; virtual QByteArray encrypt(Cipher cipher, const QByteArray &data, @@ -265,10 +267,7 @@ class DtlsCryptograph; #endif // QT_CONFIG(dtls) - - - -} // namespace QSsl +} // namespace QTlsPrivate // Factory, creating back-end specific implementations of // different entities QSslSocket is using. @@ -287,20 +286,20 @@ public: virtual QList<QSsl::ImplementedClass> implementedClasses() const = 0; // X509 and keys: - virtual QSsl::TlsKey *createKey() const; - virtual QSsl::X509Certificate *createCertificate() const; + virtual QTlsPrivate::TlsKey *createKey() const; + virtual QTlsPrivate::X509Certificate *createCertificate() const; // TLS and DTLS: - virtual QSsl::TlsCryptograph *createTlsCryptograph() const; - virtual QSsl::DtlsCryptograph *createDtlsCryptograph(class QDtls *qObject, int mode) const; - virtual QSsl::DtlsCookieVerifier *createDtlsCookieVerifier() const; + virtual QTlsPrivate::TlsCryptograph *createTlsCryptograph() const; + virtual QTlsPrivate::DtlsCryptograph *createDtlsCryptograph(class QDtls *qObject, int mode) const; + virtual QTlsPrivate::DtlsCookieVerifier *createDtlsCookieVerifier() const; // TLSTODO - get rid of these function pointers, make them virtuals in // the backend itself. X509 machinery: - virtual QSsl::X509ChainVerifyPtr X509Verifier() const; - virtual QSsl::X509PemReaderPtr X509PemReader() const; - virtual QSsl::X509DerReaderPtr X509DerReader() const; - virtual QSsl::X509Pkcs12ReaderPtr X509Pkcs12Reader() const; + virtual QTlsPrivate::X509ChainVerifyPtr X509Verifier() const; + virtual QTlsPrivate::X509PemReaderPtr X509PemReader() const; + virtual QTlsPrivate::X509DerReaderPtr X509DerReader() const; + virtual QTlsPrivate::X509Pkcs12ReaderPtr X509Pkcs12Reader() const; // Elliptic curves: virtual QList<int> ellipticCurvesIds() const; @@ -331,13 +330,13 @@ public: static const QString builtinBackendNames[]; - template<class DynamicType, class TLSObject> + template<class DynamicType, class TLSObject> static DynamicType *backend(const TLSObject &o) { - return static_cast<DynamicType *>(o.backendImplementation()); + return static_cast<DynamicType *>(o.d->backend.get()); } - static void resetBackend(QSslKey &key, QSsl::TlsKey *keyBackend); + static void resetBackend(QSslKey &key, QTlsPrivate::TlsKey *keyBackend); Q_DISABLE_COPY_MOVE(QTlsBackend) }; |