28#include <QtCore/qatomic.h>
29#include <QtCore/qbytearray.h>
30#include <QtCore/qiodevice.h>
31#ifndef QT_NO_DEBUG_STREAM
32#include <QtCore/qdebug.h>
61 backend.reset(tlsBackend->createKey());
65 qCWarning(lcSsl,
"Active TLS backend does not support key creation");
80 const std::unique_ptr<QTlsPrivate::TlsKey> cryptor(tlsBackend->createKey());
81 return cryptor->decrypt(cipher,
data,
key, iv);
90 const std::unique_ptr<QTlsPrivate::TlsKey> cryptor(tlsBackend->createKey());
91 return cryptor->encrypt(cipher,
data,
key, iv);
121 if (
auto *tlsKey = d->
backend.get()) {
147 if (
auto *tlsKey = d->
backend.get()) {
166 if (
auto *tlsKey = d->
backend.get())
229 if (
const auto *tlsKey = d->
backend.get())
230 return tlsKey->isNull();
250 if (
const auto *tlsKey = d->
backend.get())
251 return tlsKey->length();
261 if (
const auto *tlsKey = d->
backend.get())
262 return tlsKey->type();
272 if (
const auto *tlsKey = d->
backend.get())
273 return tlsKey->algorithm();
294 if (
const auto *tlsKey = d->
backend.get())
295 return tlsKey->derFromPem(
toPem(passPhrase), &headers);
307 if (
const auto *tlsKey = d->
backend.get())
308 return tlsKey->toPem(passPhrase);
338 return other.isNull();
358#ifndef QT_NO_DEBUG_STREAM
362 debug.resetFormat().nospace();
369 <<
", " <<
key.length()
IOBluetoothDevice * device
bool isEmpty() const noexcept
Returns true if the byte array has size 0; otherwise returns false.
\inmodule QtCore \reentrant
static Q_NETWORK_EXPORT QByteArray decrypt(Cipher cipher, const QByteArray &data, const QByteArray &key, const QByteArray &iv)
static Q_NETWORK_EXPORT QByteArray encrypt(Cipher cipher, const QByteArray &data, const QByteArray &key, const QByteArray &iv)
std::unique_ptr< QTlsPrivate::TlsKey > backend
The QSslKey class provides an interface for private and public keys.
bool operator==(const QSslKey &key) const
Returns true if this key is equal to other; otherwise returns false.
int length() const
Returns the length of the key in bits, or -1 if the key is null.
~QSslKey()
Destroys the QSslKey object.
QSsl::KeyAlgorithm algorithm() const
Returns the key algorithm.
void clear()
Clears the contents of this key, making it a null key.
QByteArray toDer(const QByteArray &passPhrase=QByteArray()) const
Returns the key in DER encoding.
QSslKey()
Constructs a null key.
QByteArray toPem(const QByteArray &passPhrase=QByteArray()) const
Returns the key in PEM encoding.
Qt::HANDLE handle() const
Returns a pointer to the native key handle, if there is one, else \nullptr.
QSslKey & operator=(QSslKey &&other) noexcept
bool isNull() const
Returns true if this is a null key; otherwise false.
QSsl::KeyType type() const
Returns the type of the key (i.e., PublicKey or PrivateKey).
static QTlsBackend * tlsBackendInUse()
KeyType
Describes the two types of keys QSslKey supports.
KeyAlgorithm
Describes the different key algorithms supported by QSslKey.
EncodingFormat
Describes supported encoding formats for certificates and keys.
Combined button and popup list for selecting options.
#define qCWarning(category,...)
GLuint64 GLenum void * handle
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
QDebug operator<<(QDebug debug, const QSslKey &key)