Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qsslkey.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5
6#ifndef QSSLKEY_H
7#define QSSLKEY_H
8
9#include <QtNetwork/qtnetworkglobal.h>
10#include <QtCore/qnamespace.h>
11#include <QtCore/qbytearray.h>
12#include <QtCore/qshareddata.h>
13#include <QtNetwork/qssl.h>
14
16
17
18#ifndef QT_NO_SSL
19
20class QIODevice;
21
22class QSslKeyPrivate;
23class Q_NETWORK_EXPORT QSslKey
24{
25public:
26 QSslKey();
27 QSslKey(const QByteArray &encoded, QSsl::KeyAlgorithm algorithm,
28 QSsl::EncodingFormat format = QSsl::Pem,
29 QSsl::KeyType type = QSsl::PrivateKey,
30 const QByteArray &passPhrase = QByteArray());
31 QSslKey(QIODevice *device, QSsl::KeyAlgorithm algorithm,
32 QSsl::EncodingFormat format = QSsl::Pem,
33 QSsl::KeyType type = QSsl::PrivateKey,
34 const QByteArray &passPhrase = QByteArray());
35 explicit QSslKey(Qt::HANDLE handle, QSsl::KeyType type = QSsl::PrivateKey);
36 QSslKey(const QSslKey &other);
37 QSslKey(QSslKey &&other) noexcept;
38 QSslKey &operator=(QSslKey &&other) noexcept;
39 QSslKey &operator=(const QSslKey &other);
40 ~QSslKey();
41
42 void swap(QSslKey &other) noexcept { d.swap(other.d); }
43
44 bool isNull() const;
45 void clear();
46
47 int length() const;
48 QSsl::KeyType type() const;
49 QSsl::KeyAlgorithm algorithm() const;
50
51 QByteArray toPem(const QByteArray &passPhrase = QByteArray()) const;
52 // ### Qt 7: drop passPhrase
53 QByteArray toDer(const QByteArray &passPhrase = QByteArray()) const;
54
55 Qt::HANDLE handle() const;
56
57 bool operator==(const QSslKey &key) const;
58 inline bool operator!=(const QSslKey &key) const { return !operator==(key); }
59
60private:
61 QExplicitlySharedDataPointer<QSslKeyPrivate> d;
62 friend class QTlsBackend;
63};
64
66
67#ifndef QT_NO_DEBUG_STREAM
68class QDebug;
69Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QSslKey &key);
70#endif
71
72#endif // QT_NO_SSL
73
74QT_END_NAMESPACE
75
76#endif
This class represents Online Certificate Status Protocol response.
The QSslCertificate class provides a convenient API for an X509 certificate.
The QSslCipher class represents an SSL cryptographic cipher.
Definition qsslcipher.h:23
The QSslKey class provides an interface for private and public keys.
Definition qsslkey.h:24
The QSslPreSharedKeyAuthenticator class provides authentication data for pre shared keys (PSK) cipher...
The QSslSocket class provides an SSL encrypted socket for both clients and servers.
Definition qsslsocket.h:30
Namespace containing onternal types that TLS backends implement.
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition qdir.cpp:2568
static QT_BEGIN_NAMESPACE QString msgUnsupportedMulticastAddress()
Definition qdtls.cpp:304
QOcspRevocationReason
QT_REQUIRE_CONFIG(thread)