QSslPreSharedKeyAuthenticator Class
QSslPreSharedKeyAuthenticator クラスは、事前共有鍵 (PSK) 暗号スイート用の認証データを提供します。詳細...
Header: | #include <QSslPreSharedKeyAuthenticator> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
qmake: | QT += network |
- 継承したメンバを含むすべてのメンバの一覧
- QSslPreSharedKeyAuthenticator は、ネットワークプログラミング APIおよび暗黙的に共有されるクラスの一部です。
注意:このクラスの関数はすべてリエントラントです。
パブリック関数
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 &authenticator) |
QSslPreSharedKeyAuthenticator & | operator=(QSslPreSharedKeyAuthenticator &&authenticator) |
QSslPreSharedKeyAuthenticator & | operator=(const QSslPreSharedKeyAuthenticator &authenticator) |
関連する非メンバー
bool | operator!=(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs) |
bool | operator==(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs) |
詳細説明
QSslPreSharedKeyAuthenticator クラスは、事前共有鍵 (PSK) 暗号スイートで必要な認証データを提供するために SSL ソケットで使用されます。
PSK ハンドシェイクでは、クライアントは鍵を導出しなければならず、それはサーバに設定されている鍵と一致しなければなりません。鍵を導出する正確なアルゴリズムはアプリケーションに依存するが、この目的のために、サーバはクライアントにIDヒントを送信することができる。このヒントは、他の情報(たとえばパスフレーズ)と組み合わされ、共有鍵を構築するためにクライアントによって使用される。
QSslPreSharedKeyAuthenticator は、PSK ハンドシェイクを完了するための手段をクライアントアプリケーションに提供する。クライアントアプリケーションは、スロットをQSslSocket::preSharedKeyAuthenticationRequired() シグナルに接続する必要がある:
connect(socket, &QSslSocket::preSharedKeyAuthenticationRequired, this, &AuthManager::handlePreSharedKeyAuthentication);
このシグナルは QSslPreSharedKeyAuthenticator オブジェクトを運び、サーバーがクライアントに送る ID のヒントを含む:
void AuthManager::handlePreSharedKeyAuthentication(QSslPreSharedKeyAuthenticator *authenticator) { authenticator->setIdentity("My Qt App"); const QByteArray key = deriveKey(authenticator->identityHint(), passphrase); authenticator->setPreSharedKey(key); }
注意: PSK 暗号スイートは、SSL バックエンドとして OpenSSL 1.0.1 (またはそれ以上) を使用している場合にのみサポートされます。
注: PSKは現在OpenSSLでのみサポートされている。
QSslSocketも参照 。
メンバー関数ドキュメント
QSslPreSharedKeyAuthenticator::QSslPreSharedKeyAuthenticator()
デフォルトの QSslPreSharedKeyAuthenticator オブジェクトを構築する。
ID ヒント、ID、およびキーは空のバイト配列に初期化される。
QSslPreSharedKeyAuthenticator::QSslPreSharedKeyAuthenticator(const QSslPreSharedKeyAuthenticator &authenticator)
QSslPreSharedKeyAuthenticator オブジェクトをauthenticator のコピーとして構築する。
operator=()も参照 。
[noexcept]
QSslPreSharedKeyAuthenticator::~QSslPreSharedKeyAuthenticator()
QSslPreSharedKeyAuthenticator オブジェクトを破棄します。
QByteArray QSslPreSharedKeyAuthenticator::identity() const
PSK クライアント ID を返します。
setIdentity()も参照 。
QByteArray QSslPreSharedKeyAuthenticator::identityHint() const
サーバから提供された PSK ID ヒントを返す。このヒントの解釈はアプリケーションに任されている。
int QSslPreSharedKeyAuthenticator::maximumIdentityLength() const
PSK クライアント ID の最大長をバイト単位で返す。
この場合、実際にサーバに送信されるのは最初のmaximumIdentityLength()バイトだけである。
setIdentity()も参照 。
int QSslPreSharedKeyAuthenticator::maximumPreSharedKeyLength() const
事前共有鍵の最大長をバイト数で返す。
この場合、実際にサーバに送信されるのは最初の maximumPreSharedKeyLength() バイトのみとなります。
setPreSharedKey()も参照 。
QByteArray QSslPreSharedKeyAuthenticator::preSharedKey() const
事前共有鍵を返します。
setPreSharedKey()も参照 。
void QSslPreSharedKeyAuthenticator::setIdentity(const QByteArray &identity)
PSK クライアント ID (サーバに通知する) をidentity に設定する。
注意: maximumIdentityLength()よりも長い長さのIDを設定することも可能である。この場合、最初のmaximumIdentityLength() バイトだけが実際にサーバに送信される。
identity() およびmaximumIdentityLength()も参照のこと 。
void QSslPreSharedKeyAuthenticator::setPreSharedKey(const QByteArray &preSharedKey)
事前共有鍵をpreSharedKey に設定する。
注意: maximumPreSharedKeyLength() よりも長い長さの鍵を設定することも可能である。この場合、最初のmaximumPreSharedKeyLength() バイトだけが実際にサーバに送信される。
preSharedKey()、maximumPreSharedKeyLength()、QByteArray::fromHex()も参照のこと 。
[noexcept]
void QSslPreSharedKeyAuthenticator::swap(QSslPreSharedKeyAuthenticator &authenticator)
QSslPreSharedKeyAuthenticator オブジェクトauthenticator をこのオブジェクトと交換する。この操作は非常に高速で、失敗することはない。
[noexcept]
QSslPreSharedKeyAuthenticator &QSslPreSharedKeyAuthenticator::operator=(QSslPreSharedKeyAuthenticator &&authenticator)
Move-QSslPreSharedKeyAuthenticator オブジェクトauthenticator をこのオブジェクトに割り当て、移動したインスタンスへの参照を返します。
QSslPreSharedKeyAuthenticator &QSslPreSharedKeyAuthenticator::operator=(const QSslPreSharedKeyAuthenticator &authenticator)
QSslPreSharedKeyAuthenticator オブジェクトauthenticator をこのオブジェクトに割り当て、コピーへの参照を返します。
関連する非会員
bool operator!=(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs)
認証子オブジェクトlhs がrhs と等しくない場合はtrue
を返し、そうでない場合はfalse
を返す。
bool operator==(const QSslPreSharedKeyAuthenticator &lhs, const QSslPreSharedKeyAuthenticator &rhs)
認証子オブジェクトlhs がrhs と等しい場合はtrue
を返し、そうでない場合はfalse
を返します。
2つの認証子オブジェクトが等しいのは、IDヒント、ID、事前共有鍵、IDの最大長、事前共有鍵の最大長が同じ場合のみです。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。