QSslPreSharedKeyAuthenticator Class
Die Klasse „QSslPreSharedKeyAuthenticator“ stellt Authentifizierungsdaten für Verschlüsselungssuiten mit vorab geteilten Schlüsseln (PSK) bereit. Mehr...
| Header: | #include <QSslPreSharedKeyAuthenticator> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QSslPreSharedKeyAuthenticator ist Teil der Netzwerkprogrammier-API und der implizit gemeinsam genutzten Klassen.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Funktionen
| QSslPreSharedKeyAuthenticator() | |
| QSslPreSharedKeyAuthenticator(const QSslPreSharedKeyAuthenticator &authenticator) | |
| ~QSslPreSharedKeyAuthenticator() | |
| QByteArray | identity() const |
| QByteArray | identityHint() const |
| int | maximumIdentityLength() const |
| int | maximumPreSharedKeyLength() const |
| QByteArray | preSharedKey() const |
| void | setIdentity(const QByteArray &identity) |
| void | setPreSharedKey(const QByteArray &preSharedKey) |
| void | swap(QSslPreSharedKeyAuthenticator &other) |
| QSslPreSharedKeyAuthenticator & | operator=(QSslPreSharedKeyAuthenticator &&authenticator) |
| QSslPreSharedKeyAuthenticator & | operator=(const QSslPreSharedKeyAuthenticator &authenticator) |
Verwandte Nicht-Mitglieder
| bool | operator!=(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs) |
| bool | operator==(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs) |
Ausführliche Beschreibung
Die Klasse „QSslPreSharedKeyAuthenticator“ wird von einem SSL-Socket verwendet, um die erforderlichen Authentifizierungsdaten in einer PSK-Verschlüsselungssuite (Pre-Shared Key) bereitzustellen.
Bei einem PSK-Handshake muss der Client einen Schlüssel ableiten, der mit dem auf dem Server festgelegten Schlüssel übereinstimmen muss. Der genaue Algorithmus zur Ableitung des Schlüssels hängt von der Anwendung ab; zu diesem Zweck kann der Server jedoch einen Identitätshinweis an den Client senden. Dieser Hinweis wird dann vom Client in Kombination mit anderen Informationen (beispielsweise einer Passphrase) zur Erzeugung des gemeinsamen Schlüssels verwendet.
Der `QSslPreSharedKeyAuthenticator` stellt Client-Anwendungen Mittel zur Durchführung des PSK-Handshakes zur Verfügung. Die Client-Anwendung muss einen Slot an das Signal ` QSslSocket::preSharedKeyAuthenticationRequired()` anbinden:
connect(socket, &QSslSocket::preSharedKeyAuthenticationRequired,
this, &AuthManager::handlePreSharedKeyAuthentication);Das Signal überträgt ein `QSslPreSharedKeyAuthenticator`-Objekt, das den vom Server an den Client gesendeten Identitätshinweis enthält und mit der entsprechenden Client-Identität sowie dem abgeleiteten Schlüssel gefüllt werden muss:
void AuthManager::handlePreSharedKeyAuthentication(QSslPreSharedKeyAuthenticator *authenticator)
{
authenticator->setIdentity("My Qt App");
const QByteArray key = deriveKey(authenticator->identityHint(), passphrase);
authenticator->setPreSharedKey(key);
}Hinweis: PSK -Verschlüsselungssuiten werden nur unterstützt, wenn OpenSSL 1.0.1 (oder höher) als SSL-Backend verwendet wird.
Hinweis: PSK wird derzeit nur in OpenSSL unterstützt.
Siehe auch QSslSocket.
Dokumentation der Mitgliedsfunktionen
QSslPreSharedKeyAuthenticator::QSslPreSharedKeyAuthenticator()
Erstellt ein Standardobjekt vom Typ „QSslPreSharedKeyAuthenticator“.
Der Identitätshinweis, die Identität und der Schlüssel werden auf leere Byte-Arrays initialisiert; die maximale Länge sowohl für die Identität als auch für den Schlüssel wird auf 0 gesetzt.
QSslPreSharedKeyAuthenticator::QSslPreSharedKeyAuthenticator(const QSslPreSharedKeyAuthenticator &authenticator)
Erstellt ein QSslPreSharedKeyAuthenticator-Objekt als Kopie von authenticator.
Siehe auch ` operator=()`.
[noexcept] QSslPreSharedKeyAuthenticator::~QSslPreSharedKeyAuthenticator()
Löscht das „ QSslPreSharedKeyAuthenticator “-Objekt.
QByteArray QSslPreSharedKeyAuthenticator::identity() const
Gibt die PSK-Client-ID zurück.
Siehe auch „ setIdentity()“.
QByteArray QSslPreSharedKeyAuthenticator::identityHint() const
Gibt den vom Server bereitgestellten PSK-Identitätshinweis zurück. Die Interpretation dieses Hinweises bleibt der Anwendung überlassen.
int QSslPreSharedKeyAuthenticator::maximumIdentityLength() const
Gibt die maximale Länge der PSK-Client-Identität in Byte zurück.
Hinweis: Es ist möglich, eine Identität festzulegen, deren Länge größer ist als `maximumIdentityLength()`; in diesem Fall werden tatsächlich nur die ersten `maximumIdentityLength()` Bytes an den Server gesendet.
Siehe auch ` setIdentity()`.
int QSslPreSharedKeyAuthenticator::maximumPreSharedKeyLength() const
Gibt die maximale Länge des vorab geteilten Schlüssels in Byte zurück.
Hinweis: Es ist möglich, einen Schlüssel festzulegen, dessen Länge größer ist als `maximumPreSharedKeyLength()`; in diesem Fall werden tatsächlich nur die ersten `maximumPreSharedKeyLength()` Bytes an den Server gesendet.
Siehe auch ` setPreSharedKey()`.
QByteArray QSslPreSharedKeyAuthenticator::preSharedKey() const
Gibt den vorab vereinbarten Schlüssel zurück.
Siehe auch setPreSharedKey().
void QSslPreSharedKeyAuthenticator::setIdentity(const QByteArray &identity)
Legt die PSK-Client-Identität (die dem Server mitgeteilt werden soll) auf „ identity “ fest.
Hinweis: Es ist möglich, eine Identität festzulegen, deren Länge größer als ` maximumIdentityLength()` ist; in diesem Fall werden tatsächlich nur die ersten ` maximumIdentityLength()` Bytes an den Server gesendet.
Siehe auch identity() und maximumIdentityLength().
void QSslPreSharedKeyAuthenticator::setPreSharedKey(const QByteArray &preSharedKey)
Legt den vorab geteilten Schlüssel auf „ preSharedKey “ fest.
Hinweis: Es ist möglich, einen Schlüssel festzulegen, dessen Länge größer ist als maximumPreSharedKeyLength(); in diesem Fall werden tatsächlich nur die ersten maximumPreSharedKeyLength() Bytes an den Server gesendet.
Siehe auch „ preSharedKey()“, „ maximumPreSharedKeyLength()“ und „ QByteArray::fromHex()“.
[noexcept] void QSslPreSharedKeyAuthenticator::swap(QSslPreSharedKeyAuthenticator &other)
Ersetzt diesen Authentifikator durch other. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
[noexcept] QSslPreSharedKeyAuthenticator &QSslPreSharedKeyAuthenticator::operator=(QSslPreSharedKeyAuthenticator &&authenticator)
„Move“ weist diesem Objekt das Objekt „ QSslPreSharedKeyAuthenticator “ authenticator zu und gibt eine Referenz auf die verschobene Instanz zurück.
QSslPreSharedKeyAuthenticator &QSslPreSharedKeyAuthenticator::operator=(const QSslPreSharedKeyAuthenticator &authenticator)
Weist diesem Objekt das „ QSslPreSharedKeyAuthenticator “-Objekt „ authenticator “ zu und gibt eine Referenz auf die Kopie zurück.
Verwandte Nicht-Mitglieder
bool operator!=(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs)
Gibt „ true “ zurück, wenn das Authentifizierungsobjekt „ lhs “ nicht mit „ rhs “ übereinstimmt; andernfalls „ false “.
bool operator==(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs)
Gibt „ true “ zurück, wenn das Authentifikatorobjekt „ lhs “ mit „ rhs “ übereinstimmt; andernfalls „ false “.
Zwei Authentifikatorobjekte sind genau dann gleich, wenn sie denselben Identitätshinweis, dieselbe Identität, denselben vorab vereinbarten Schlüssel sowie dieselbe maximale Länge für die Identität und denselben maximalen Wert für die Länge des vorab vereinbarten Schlüssels aufweisen.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.