QSslPreSharedKeyAuthenticator Class
La classe QSslPreSharedKeyAuthenticator fournit des données d'authentification pour les suites de chiffrement à clés pré-partagées (PSK). Plus d'informations...
| En-tête : | #include <QSslPreSharedKeyAuthenticator> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Network)target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake : | QT += network |
- Liste de tous les membres, y compris les membres hérités
- QSslPreSharedKeyAuthenticator fait partie de Network Programming API et de Implicitly Shared Classes.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Fonctions publiques
| 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) |
Non-membres apparentés
| bool | operator!=(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs) |
| bool | operator==(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs) |
Description détaillée
La classe QSslPreSharedKeyAuthenticator est utilisée par une socket SSL pour fournir les données d'authentification requises dans une suite de chiffrement à clé pré-partagée (PSK).
Dans une poignée de main PSK, le client doit dériver une clé qui doit correspondre à celle du serveur. L'algorithme exact de dérivation de la clé dépend de l'application ; toutefois, à cette fin, le serveur peut envoyer un indice d'identité au client. Cet indice, combiné à d'autres informations (par exemple une phrase de passe), est ensuite utilisé par le client pour construire la clé partagée.
Le QSslPreSharedKeyAuthenticator fournit aux applications clientes les moyens de compléter la poignée de main PSK. L'application cliente doit connecter un slot au signal QSslSocket::preSharedKeyAuthenticationRequired() :
connect(socket, &QSslSocket::preSharedKeyAuthenticationRequired, this, &AuthManager::handlePreSharedKeyAuthentication);
Le signal transporte un objet QSslPreSharedKeyAuthenticator contenant l'indice d'identité que le serveur a envoyé au client, et qui doit être rempli avec l'identité du client correspondant et la clé dérivée :
void AuthManager::handlePreSharedKeyAuthentication(QSslPreSharedKeyAuthenticator *authenticator) { authenticator->setIdentity("My Qt App"); const QByteArray key = deriveKey(authenticator->identityHint(), passphrase); authenticator->setPreSharedKey(key); }
Remarque : les suites de chiffrement PSK ne sont prises en charge que si l'on utilise OpenSSL 1.0.1 (ou une version ultérieure) comme backend SSL.
Note : PSK n'est actuellement pris en charge que par OpenSSL.
Voir également QSslSocket.
Documentation des fonctions membres
QSslPreSharedKeyAuthenticator::QSslPreSharedKeyAuthenticator()
Construit un objet QSslPreSharedKeyAuthenticator par défaut.
L'indice d'identité, l'identité et la clé seront initialisés à des tableaux d'octets vides ; la longueur maximale de l'identité et de la clé sera initialisée à 0.
QSslPreSharedKeyAuthenticator::QSslPreSharedKeyAuthenticator(const QSslPreSharedKeyAuthenticator &authenticator)
Construit un objet QSslPreSharedKeyAuthenticator en tant que copie de authenticator.
Voir aussi operator=().
[noexcept] QSslPreSharedKeyAuthenticator::~QSslPreSharedKeyAuthenticator()
Détruit l'objet QSslPreSharedKeyAuthenticator.
QByteArray QSslPreSharedKeyAuthenticator::identity() const
Renvoie l'identité du client PSK.
Voir aussi setIdentity().
QByteArray QSslPreSharedKeyAuthenticator::identityHint() const
Renvoie l'indice d'identité PSK tel que fourni par le serveur. L'interprétation de cet indice est laissée à l'application.
int QSslPreSharedKeyAuthenticator::maximumIdentityLength() const
Renvoie la longueur maximale, en octets, de l'identité du client PSK.
Note : il est possible de définir une identité dont la longueur est supérieure à maximumIdentityLength() ; dans ce cas, seuls les premiers octets de maximumIdentityLength() seront effectivement envoyés au serveur.
Voir aussi setIdentity().
int QSslPreSharedKeyAuthenticator::maximumPreSharedKeyLength() const
Renvoie la longueur maximale, en octets, de la clé pré-partagée.
Note : il est possible de définir une clé dont la longueur est supérieure au maximumPreSharedKeyLength() ; dans ce cas, seuls les premiers octets du maximumPreSharedKeyLength() seront effectivement envoyés au serveur.
Voir aussi setPreSharedKey().
QByteArray QSslPreSharedKeyAuthenticator::preSharedKey() const
Renvoie la clé pré-partagée.
Voir aussi setPreSharedKey().
void QSslPreSharedKeyAuthenticator::setIdentity(const QByteArray &identity)
Définit l'identité du client PSK (à communiquer au serveur) à identity.
Remarque : il est possible de définir une identité dont la longueur est supérieure à maximumIdentityLength() ; dans ce cas, seuls les premiers octets de maximumIdentityLength() seront effectivement envoyés au serveur.
Voir également identity() et maximumIdentityLength().
void QSslPreSharedKeyAuthenticator::setPreSharedKey(const QByteArray &preSharedKey)
Définit la clé pré-partagée à preSharedKey.
Remarque : il est possible de définir une clé dont la longueur est supérieure à celle de maximumPreSharedKeyLength() ; dans ce cas, seuls les premiers octets de maximumPreSharedKeyLength() seront effectivement envoyés au serveur.
Voir aussi preSharedKey(), maximumPreSharedKeyLength() et QByteArray::fromHex().
[noexcept] void QSslPreSharedKeyAuthenticator::swap(QSslPreSharedKeyAuthenticator &other)
Remplace cet authentificateur par other. Cette opération est très rapide et n'échoue jamais.
[noexcept] QSslPreSharedKeyAuthenticator &QSslPreSharedKeyAuthenticator::operator=(QSslPreSharedKeyAuthenticator &&authenticator)
Move - assigne l'objet QSslPreSharedKeyAuthenticator authenticator à cet objet et renvoie une référence à l'instance déplacée.
QSslPreSharedKeyAuthenticator &QSslPreSharedKeyAuthenticator::operator=(const QSslPreSharedKeyAuthenticator &authenticator)
Attribue l'objet QSslPreSharedKeyAuthenticator authenticator à cet objet et renvoie une référence à la copie.
Non-membres apparentés
bool operator!=(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs)
Renvoie true si l'objet authentificateur lhs n'est pas égal à rhs; false dans le cas contraire.
bool operator==(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs)
Renvoie true si l'objet authentificateur lhs est égal à rhs; false dans le cas contraire.
Deux objets authentificateurs sont égaux si et seulement s'ils ont le même indice d'identité, la même identité, la même clé prépartagée, la même longueur maximale pour l'identité et la même longueur maximale pour la clé prépartagée.
© 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.