QSslCertificateExtension 类

QSslCertificateExtension 类提供了访问 X509 证书扩展的 API。更多信息...

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

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

公开函数

QSslCertificateExtension()
QSslCertificateExtension(const QSslCertificateExtension &other)
~QSslCertificateExtension()
boolisCritical() const
boolisSupported() const
QStringname() const
QStringoid() const
voidswap(QSslCertificateExtension &other)
QVariantvalue() const
QSslCertificateExtension &operator=(const QSslCertificateExtension &other)

详细描述

QSslCertificateExtension 提供了对存储在 X509 证书中的扩展的访问。可用的信息取决于访问的扩展类型。

所有 X509 证书扩展都具有以下属性

属性描述
name扩展的人类可读名称,例如 'basicConstraints'。
criticality这是一个表示扩展是否对正确解释证书至关重要的布尔值。
oid指定此扩展的 ASN.1 对象标识符。
supported如果是 true,则扩展值的结构将在 Qt 版本之间保持不变。
value一个结构取决于扩展类型的 QVariant

尽管此类提供了对任何类型的扩展的访问,但只有某些保证在版本之间以不变格式返回。在 isSupported() 方法返回 true 的扩展中,此情况成立。

当前支持扩展及其返回值的结构如下

名称OID详情
basicConstraints2.5.29.19QVariantMap 返回。关键字 'ca' 包含一个布尔值,可选关键字 'pathLenConstraint' 包含一个整数。
authorityInfoAccess1.3.6.1.5.5.7.1.1返回为QVariantMap。每个访问方法都有一个键,其值为URI。
subjectKeyIdentifier2.5.29.14返回一个包含QStringQVariant。该字符串是键标识符。
authorityKeyIdentifier2.5.29.35返回为QVariantMap。可选键 'keyid' 包含键标识符作为存储在QByteArray中的十六进制字符串。可选键 'serial' 包含权威密钥序列号作为qlonglong。当前不支持该扩展的一般名称字段。

除了上述支持的扩展之外,还有许多其他常见扩展将以合理的方式返回。SSL后端完全不支持的扩展将以QByteArray的形式返回。

关于证书可以包含的扩展类型,可以在RFC 5280中找到更多信息。

另请参阅QSslCertificate::extensions

成员函数文档

QSslCertificateExtension::QSslCertificateExtension()

构造一个QSslCertificateExtension。

QSslCertificateExtension::QSslCertificateExtension(const QSslCertificateExtension &other)

复制other

[noexcept] QSslCertificateExtension::~QSslCertificateExtension()

销毁扩展。

bool QSslCertificateExtension::isCritical() const

返回扩展的重要性。

bool QSslCertificateExtension::isSupported() const

如果此扩展受支持,则返回true。在这种情况下,受支持的简单意味着value()访问器返回的QVariant的结构将在版本之间保持不变。不支持的扩展可以自由使用,但无法保证在版本之间返回数据具有相同的结构。

QString QSslCertificateExtension::name() const

返回扩展的名称。如果不知道扩展的名称,则返回OID。

QString QSslCertificateExtension::oid() const

返回此扩展的ASN.1 OID。

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

将此证书扩展实例与other交换。此函数非常快速且从不失败。

QVariant QSslCertificateExtension::value() const

返回扩展的值。返回值的结构取决于扩展类型。

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

other分配给此扩展并返回对此扩展的引用。

© 2024 Qt公司有限公司。本文件中包含的文档贡献均为各自所有者的版权。所提供的文档受免费软件基金会发布的GNU自由文档许可的第1.3版条款约束。Qt及其相关标志是Qt公司(芬兰)和/或其他国家/地区的商标。所有其他商标均为各自所有者的财产。