Sur cette page

QOpcUaKeyPair Class

QOpcUaKeyPair gère les paires de clés privées et publiques. En savoir plus...

En-tête : #include <QOpcUaKeyPair>
CMake : find_package(Qt6 REQUIRED COMPONENTS OpcUa)
target_link_libraries(mytarget PRIVATE Qt6::OpcUa)
qmake : QT += opcua
Hérite de : QObject

Types publics

enum class Cipher { Aes128Cbc, Unencrypted }
enum class KeyType { Rsa, Empty, Unknown }
enum class RsaKeyStrength { Bits1024, Bits2048, Bits4096 }

Fonctions publiques

QOpcUaKeyPair(QObject *parent = nullptr)
virtual ~QOpcUaKeyPair()
void generateRsaKey(QOpcUaKeyPair::RsaKeyStrength strength)
bool hasPrivateKey() const
bool loadFromPemData(const QByteArray &data)
QByteArray privateKeyToByteArray(QOpcUaKeyPair::Cipher cipher, const QString &password) const
QByteArray publicKeyToByteArray() const
QOpcUaKeyPair::KeyType type() const

Signaux

void passphraseNeeded(QString &passphrase, int maximumLength, bool writeOperation)

Description détaillée

Cette classe est actuellement disponible en avant-première technologique ; par conséquent, l'API et les fonctionnalités fournies par la classe sont susceptibles d'être modifiées à tout moment sans préavis.

Elle permet de générer, de charger et de stocker des clés pour le chiffrement asymétrique. Les instances de cette classe doivent être transmises aux fonctions qui nécessitent une clé.

Documentation sur les types de membres

enum class QOpcUaKeyPair::Cipher

Algorithmes de chiffrement des clés privées.

ConstanteValeurDescription
QOpcUaKeyPair::Cipher::Aes128Cbc0Chiffrement AES128 avec CBC
QOpcUaKeyPair::Cipher::Unencrypted1La clé ne sera pas chiffrée.

enum class QOpcUaKeyPair::KeyType

Ce type d'énumération spécifie le type d'une clé.

ConstanteValeurDescription
QOpcUaKeyPair::KeyType::Rsa0Une clé RSA
QOpcUaKeyPair::KeyType::Empty1Aucune clé n'est disponible.
QOpcUaKeyPair::KeyType::Unknown2Ce type de clé n'est pas pris en charge.

enum class QOpcUaKeyPair::RsaKeyStrength

Ce type d'énumération spécifie la force d'une clé RSA.

ConstanteValeurDescription
QOpcUaKeyPair::RsaKeyStrength::Bits10241024Une force de clé de 1 024 bits.
QOpcUaKeyPair::RsaKeyStrength::Bits20482048Une clé d'une force de 2 048 bits.
QOpcUaKeyPair::RsaKeyStrength::Bits40964096Une clé de 4 096 bits.

Documentation des fonctions membres

QOpcUaKeyPair::QOpcUaKeyPair(QObject *parent = nullptr)

Crée une nouvelle paire de clés vide dont l'objet parent est « parent ».

[virtual noexcept] QOpcUaKeyPair::~QOpcUaKeyPair()

Supprime la paire de clés.

void QOpcUaKeyPair::generateRsaKey(QOpcUaKeyPair::RsaKeyStrength strength)

Génère une nouvelle paire de clés RSA asymétriques.

La longueur de la clé est spécifiée par ` strength`.

bool QOpcUaKeyPair::hasPrivateKey() const

Renvoie ` true ` si la clé actuelle contient une clé privée, sinon ` false`.

bool QOpcUaKeyPair::loadFromPemData(const QByteArray &data)

Charge une clé à partir de données encodées au format PEM via l'data. Renvoie « true » en cas de succès et « false » dans le cas contraire.

La fonction détecte, à partir de l’en-tête PEM, si les données contiennent une clé privée ou publique. Le chargement de clés chiffrées est possible en associant une fonction au signal « passphraseNeeded » pour la fourniture de la phrase de passe.

[signal] void QOpcUaKeyPair::passphraseNeeded(QString &passphrase, int maximumLength, bool writeOperation)

Ce signal est émis lorsqu'une clé privée a besoin d'une « passphrase » pour le chiffrement ou le déchiffrement.

writeOperation La valeur est « true » lorsque la phrase de passe est requise pour l’exportation d’une clé, et « false » lorsque la phrase de passe est requise pour l’importation d’une clé.

maximumLength Spécifie la longueur maximale en octets de la phrase de passe. Tous les caractères de « passphrase » dépassant cette limite seront ignorés.

Si vous utilisez ce signal au-delà des limites d’un thread, vous devez le relier à Qt::BlockingQueuedConnection.

QByteArray QOpcUaKeyPair::privateKeyToByteArray(QOpcUaKeyPair::Cipher cipher, const QString &password) const

Renvoie la clé privée encodée au format PEM. S'il n'y a pas de clé privée, un tableau d'octets vide est renvoyé.

Le chiffrement de la clé doit être spécifié à l'aide des paramètres cipher et password. Pour stocker la clé non chiffrée, il faut utiliser le chiffrement Cipher::Unencrypted.

QByteArray QOpcUaKeyPair::publicKeyToByteArray() const

Renvoie la clé publique sous forme de tableau d'octets.

QOpcUaKeyPair::KeyType QOpcUaKeyPair::type() const

Renvoie le type de la clé actuelle.

© 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.