QOpcUaKeyPair Class

QOpcUaKeyPairは秘密鍵と公開鍵のペアを扱います。詳細...

Header: #include <QOpcUaKeyPair>
CMake: find_package(Qt6 REQUIRED COMPONENTS OpcUa)
target_link_libraries(mytarget PRIVATE Qt6::OpcUa)
qmake: QT += opcua
Inherits: QObject

パブリック型

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

パブリック関数

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

シグナル

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

詳細説明

このクラスは現在、技術プレビューとして提供されています。したがって、このクラスが提供する API と機能は、事前の通知なしにいつでも変更される可能性があります。

このクラスは、非対称暗号化用の鍵の生成、読み込み、保存を行うことができます。このクラスのインスタンスは、鍵を必要とする関数に渡さなければなりません。

メンバ型ドキュメント

enum class QOpcUaKeyPair::Cipher

秘密鍵の暗号化のための暗号。

定数説明
QOpcUaKeyPair::Cipher::Aes128Cbc0CBC による AES128 の暗号化
QOpcUaKeyPair::Cipher::Unencrypted1鍵は暗号化されない。

enum class QOpcUaKeyPair::KeyType

この列挙型は鍵の型を指定します。

定数説明
QOpcUaKeyPair::KeyType::Rsa0RSA 鍵
QOpcUaKeyPair::KeyType::Empty1鍵はありません。
QOpcUaKeyPair::KeyType::Unknown2鍵のタイプは扱われない。

enum class QOpcUaKeyPair::RsaKeyStrength

この列挙型は RSA 鍵の強度を指定する。

定数説明
QOpcUaKeyPair::RsaKeyStrength::Bits102410241024 ビットの鍵強度。
QOpcUaKeyPair::RsaKeyStrength::Bits204820482048 ビットの鍵強度。
QOpcUaKeyPair::RsaKeyStrength::Bits409640964096 ビットの鍵強度。

メンバ関数 ドキュメント

QOpcUaKeyPair::QOpcUaKeyPair(QObject *parent = nullptr)

parent を親オブジェクトとする新しい空の鍵ペアを作成する。

[virtual noexcept] QOpcUaKeyPair::~QOpcUaKeyPair()

鍵ペアを破棄する。

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

新しい非対称RSA鍵ペアを生成する。

鍵の長さはstrength で指定する。

bool QOpcUaKeyPair::hasPrivateKey() const

現在の鍵に秘密鍵が含まれている場合はtrue を返し、そうでない場合はfalse を返す。

bool QOpcUaKeyPair::loadFromPemData(const QByteArray &data)

data の PEM エンコードされたデータから鍵をロードする。成功した場合はtrue を返し、そうでない場合はfalse を返す。

PEMヘッダーから、データに秘密鍵が含まれているか公開鍵が含まれているかを判別する。暗号化された鍵のロードは、パスフレーズを提供するシグナルpassphraseNeeded に関数を接続することで可能です。

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

このシグナルは、秘密鍵が暗号化または復号化のためにpassphrase

writeOperation パスフレーズが鍵のエクスポートに必要な場合は となり、 パスフレーズが鍵のインポートに必要な場合は となる。true false

maximumLength は、パスフレーズの最大長をバイト数で指定する。この制限を超える の文字はすべて無視される。passphrase

スレッドの境界を越えてこのシグナルを使用する場合は、Qt::BlockingQueuedConnection と接続する必要がある。

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

PEM エンコードされた秘密鍵を返します。秘密鍵がない場合は、空のバイト配列が返される。

鍵の暗号化は、パラメータcipher およびpassword で指定する必要がある。 鍵を暗号化せずに保存するには、暗号Cipher::Unencrypted を使用する必要がある。

QByteArray QOpcUaKeyPair::publicKeyToByteArray() const

公開鍵をバイト配列で返す。

QOpcUaKeyPair::KeyType QOpcUaKeyPair::type() const

現在の鍵の型を返します。

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。