QSslDiffieHellmanParameters 类

QSslDiffieHellmanParameters 类为服务器 Diffie-Hellman 参数提供了接口。 更多...

头文件 #include <QSslDiffieHellmanParameters>
CMakefind_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmakeQT += network

注意: 此类中所有函数都是 可重入的

公共类型

枚举Error { NoError, InvalidInputDataError, UnsafeParametersError }

公共函数

QSslDiffieHellmanParameters()
QSslDiffieHellmanParameters(const QSslDiffieHellmanParameters &other)
QSslDiffieHellmanParameters(QSslDiffieHellmanParameters &&other)
~QSslDiffieHellmanParameters()
QSslDiffieHellmanParameters::Errorerror() const
QStringerrorString() const
boolisEmpty() const
boolisValid() const
voidswap(QSslDiffieHellmanParameters &other)
QSslDiffieHellmanParameters &operator=(const QSslDiffieHellmanParameters &other)
QSslDiffieHellmanParameters &operator=(QSslDiffieHellmanParameters &&other)

静态公共成员

QSslDiffieHellmanParametersdefaultParameters()
QSslDiffieHellmanParametersfromEncoded(const QByteArray &encoded, QSsl::EncodingFormat encoding = QSsl::Pem)
QSslDiffieHellmanParametersfromEncoded(QIODevice *device, QSsl::EncodingFormat encoding = QSsl::Pem)
size_tqHash(const QSslDiffieHellmanParameters &dhparam, size_t seed = 0)
booloperator!=(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs)
QDebugoperator<<(QDebug debug, const QSslDiffieHellmanParameters &dhparam)
booloperator==(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs)

详细描述

QSslDiffieHellmanParameters 根据基于 QSslSocket 的 QSslDiffieHellmanParameters 为服务器设置 Diffie-Hellman 参数的接口。

另请参阅 QSslSocketQSslCipherQSslConfiguration

成员类型文档

enum QSslDiffieHellmanParameters::Error

描述了一个 QSslDiffieHellmanParameters 错误。

常量描述
QSslDiffieHellmanParameters::NoError0没有发生错误。
QSslDiffieHellmanParameters::InvalidInputDataError1给定的输入数据无法用来构造一个 QSslDiffieHellmanParameters 对象。
QSslDiffieHellmanParameters::UnsafeParametersError2Diffie-Hellman 参数是不安全的,不应该使用。

成员函数文档

QSslDiffieHellmanParameters::QSslDiffieHellmanParameters()

构建一个空的 QSslDiffieHellmanParameters 实例。

如果在一个 QSslConfiguration 对象上设置了一个空的 QSslDiffieHellmanParameters 实例,则将禁用 Diffie-Hellman 商议。

另请参阅 isValid() 和 QSslConfiguration

QSslDiffieHellmanParameters::QSslDiffieHellmanParameters(const QSslDiffieHellmanParameters &other)

构建与 other 相同的副本。

[noexcept] QSslDiffieHellmanParameters::QSslDiffieHellmanParameters(QSslDiffieHellmanParameters &&other)

other 中移动构造。

注意: 移动后的对象 other 会处于一种部分构造状态,在这种状态中,唯一有效的操作是销毁或分配新值。

[static] QSslDiffieHellmanParameters QSslDiffieHellmanParameters::defaultParameters()

销毁 QSslDiffieHellmanParameters 对象。

[static] QSslDiffieHellmanParameters QSslDiffieHellmanParameters::defaultParameters()

返回由 QSslSocket 使用的默认 QSslDiffieHellmanParameters

这是目前从 RFC 3526 的 2048 位 MODP 群。

[noexcept] QSslDiffieHellmanParameters::Error QSslDiffieHellmanParameters::error() const

返回导致 QSslDiffieHellmanParameters 对象无效的错误。

[noexcept] QString QSslDiffieHellmanParameters::errorString() const

返回一个对导致 QSslDiffieHellmanParameters 对象无效的错误的人可读描述。

[static] QSslDiffieHellmanParameters QSslDiffieHellmanParameters::fromEncoded(const QByteArray &encoded, QSsl::EncodingFormat encoding = QSsl::Pem)

使用PEM或DER形式的字节数组encoded构建一个QSslDiffieHellmanParameters对象,编码方式由encoding指定。

使用返回对象的isValid()方法检查Diffie-Hellman参数是否有效且正确加载。

另请参阅 isValid() 和 QSslConfiguration

[静态] QSslDiffieHellmanParameters QSslDiffieHellmanParameters::fromEncoded(QIODevice *device, QSsl::EncodingFormat encoding = QSsl::Pem)

通过从device中读取PEM或DER形式的数据来构建一个QSslDiffieHellmanParameters对象,编码方式由encoding指定。

使用返回对象的isValid()方法检查Diffie-Hellman参数是否有效且正确加载。

特别地,如果device为空或者没有打开读取权限,将返回一个无效对象。

另请参阅 isValid() 和 QSslConfiguration

[noexcept] bool QSslDiffieHellmanParameters::isEmpty() const

如果这是一个空的QSslDiffieHellmanParameters实例,返回true

在一个基于QSslSocket的服务器上设置一个空的QSslDiffieHellmanParameters实例将禁用Diffie-Hellman密钥交换。

[noexcept] bool QSslDiffieHellmanParameters::isValid() const

如果这是一个有效的QSslDiffieHellmanParameters,返回true,否则返回false。

在构建一个QSslDiffieHellmanParameters对象后使用此方法以确定其有效性。

如果QSslDiffieHellmanParameters对象无效,您可以使用error()方法确定阻止对象创建的错误。

另请参阅error()。

[noexcept] void QSslDiffieHellmanParameters::swap(QSslDiffieHellmanParameters &other)

将此QSslDiffieHellmanParametersother交换。此函数非常快且不会失败。

QSslDiffieHellmanParameters &QSslDiffieHellmanParameters::operator=(const QSslDiffieHellmanParameters &other)

other的内容复制到这个QSslDiffieHellmanParameters对象中,使两个对象相同。

返回对当前QSslDiffieHellmanParameters的引用。

[noexcept] QSslDiffieHellmanParameters &QSslDiffieHellmanParameters::operator=(QSslDiffieHellmanParameters &&other)

other移动赋值到这个QSslDiffieHellmanParameters实例。

注意: 移动后的对象 other 会处于一种部分构造状态,在这种状态中,唯一有效的操作是销毁或分配新值。

相关非成员

[noexcept] size_t qHash(const QSslDiffieHellmanParameters &dhparam, size_t seed = 0)

dhparam 返回一个哈希值,使用 seed 作为计算种子。

[noexcept] bool operator!=(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs)

如果 lhs 不等于 rhs,则返回 true;否则返回 false

QDebug operator<<(QDebug debug, const QSslDiffieHellmanParameters &dhparam)

dhparam 中的 Diffie-Hellman 参数写入调试对象 debug,以便进行调试。

Diffie-Hellman 参数将以 Base64 编码的 DER 格式表示。

另请参阅调试技术

[noexcept] bool operator==(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs)

如果 lhs 等于 rhs,则返回 true;否则返回 false

© 2024 The Qt Company Ltd. 本文档中包含的贡献的文档版权属于各自的所有者。本文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 条款许可的。Qt 及相关商标是芬兰 The Qt Company Ltd. 及其在世界其他国家的商标。所有其他商标均为各自所有者的财产。