- Qt 6.8
- Qt Network
- C++ Classes
- QSslKey
- Qt 6.8.3 Reference Documentation

# QSslKey Class

The QSslKey class provides an interface for private and public keys. More...

Header: | `#include <QSslKey>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Network)` `target_link_libraries(mytarget PRIVATE Qt6::Network)`
qmake: | `QT += network`

- List of all members, including inherited members
- QSslKey is part of Network Programming API and Implicitly Shared Classes.

Note: All functions in this class are reentrant.

## Public Functions

| QSslKey()
| QSslKey(Qt::HANDLE handle, QSsl::KeyType type = QSsl::PrivateKey)
| QSslKey(QIODevice *device, QSsl::KeyAlgorithm algorithm, QSsl::EncodingFormat encoding = QSsl::Pem, QSsl::KeyType type = QSsl::PrivateKey, const QByteArray &passPhrase = QByteArray())
| QSslKey(const QByteArray &encoded, QSsl::KeyAlgorithm algorithm, QSsl::EncodingFormat encoding = QSsl::Pem, QSsl::KeyType type = QSsl::PrivateKey, const QByteArray &passPhrase = QByteArray())
| QSslKey(const QSslKey &other)
| ~QSslKey()
QSsl::KeyAlgorithm | algorithm() const
void | clear()
Qt::HANDLE | handle() const
bool | isNull() const
int | length() const
void | swap(QSslKey &other)
QByteArray | toDer(const QByteArray &passPhrase = QByteArray()) const
QByteArray | toPem(const QByteArray &passPhrase = QByteArray()) const
QSsl::KeyType | type() const
bool | operator!=(const QSslKey &other) const
QSslKey & | operator=(const QSslKey &other)
bool | operator==(const QSslKey &other) const

## Detailed Description

QSslKey provides a simple API for managing keys.

See also QSslSocket, QSslCertificate, and QSslCipher.

## Member Function Documentation

### QSslKey::QSslKey()

Constructs a null key.

See also isNull().

### `[explicit]` QSslKey::QSslKey(Qt::HANDLE handle, QSsl::KeyType type = QSsl::PrivateKey)

Constructs a QSslKey from a valid native key handle. type specifies whether the key is public or private.

QSslKey will take ownership for this key and you must not free the key using the native library.

### QSslKey::QSslKey(QIODevice *device, QSsl::KeyAlgorithm algorithm, QSsl::EncodingFormat encoding = QSsl::Pem, QSsl::KeyType type = QSsl::PrivateKey, const QByteArray &passPhrase = QByteArray())

Constructs a QSslKey by reading and decoding data from a device using a specified algorithm and encoding format. type specifies whether the key is public or private.

If the key is encrypted then passPhrase is used to decrypt it.

After construction, use isNull() to check if device provided a valid key.

### QSslKey::QSslKey(const QByteArray &encoded, QSsl::KeyAlgorithm algorithm, QSsl::EncodingFormat encoding = QSsl::Pem, QSsl::KeyType type = QSsl::PrivateKey, const QByteArray &passPhrase = QByteArray())

Constructs a QSslKey by decoding the string in the byte array encoded using a specified algorithm and encoding format. type specifies whether the key is public or private.

If the key is encrypted then passPhrase is used to decrypt it.

After construction, use isNull() to check if encoded contained a valid key.

### QSslKey::QSslKey(const QSslKey &other)

Constructs an identical copy of other.

### `[noexcept]` QSslKey::~QSslKey()

Destroys the QSslKey object.

### QSsl::KeyAlgorithm QSslKey::algorithm() const

Returns the key algorithm.

### void QSslKey::clear()

Clears the contents of this key, making it a null key.

See also isNull().

### Qt::HANDLE QSslKey::handle() const

Returns a pointer to the native key handle, if there is one, else `nullptr`.

You can use this handle together with the native API to access extended information about the key.

Warning: Use of this function has a high probability of being non-portable, and its return value may vary across platforms, and between minor Qt releases.

### bool QSslKey::isNull() const

Returns `true` if this is a null key; otherwise false.

See also clear().

### int QSslKey::length() const

Returns the length of the key in bits, or -1 if the key is null.

### `[noexcept]` void QSslKey::swap(QSslKey &other)

Swaps this ssl key with other. This operation is very fast and never fails.

### QByteArray QSslKey::toDer(const QByteArray &passPhrase = QByteArray()) const

Returns the key in DER encoding.

The passPhrase argument should be omitted as DER cannot be encrypted. It will be removed in a future version of Qt.

### QByteArray QSslKey::toPem(const QByteArray &passPhrase = QByteArray()) const

Returns the key in PEM encoding. The result is encrypted with passPhrase if the key is a private key and passPhrase is non-empty.

### QSsl::KeyType QSslKey::type() const

Returns the type of the key (i.e., PublicKey or PrivateKey).

### bool QSslKey::operator!=(const QSslKey &other) const

Returns `true` if this key is not equal to key other; otherwise returns `false`.

### QSslKey &QSslKey::operator=(const QSslKey &other)

Copies the contents of other into this key, making the two keys identical.

Returns a reference to this QSslKey.

### bool QSslKey::operator==(const QSslKey &other) const

Returns `true` if this key is equal to other; otherwise returns `false`.