QSslCertificateExtension 类
QSslCertificateExtension 类提供了访问 X509 证书扩展的 API。更多信息...
头文件 | #include <QSslCertificateExtension> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
qmake | QT += network |
- 所有成员列表,包括继承成员
- QSslCertificateExtension 是网络编程 API 的部分,也是隐式共享类的部分。网络编程 API 和 隐式共享类。
注意:该类中所有函数都是可重入的。
公开函数
QSslCertificateExtension() | |
QSslCertificateExtension(const QSslCertificateExtension &other) | |
~QSslCertificateExtension() | |
bool | isCritical() const |
bool | isSupported() const |
QString | name() const |
QString | oid() const |
void | swap(QSslCertificateExtension &other) |
QVariant | value() const |
QSslCertificateExtension & | operator=(const QSslCertificateExtension &other) |
详细描述
QSslCertificateExtension 提供了对存储在 X509 证书中的扩展的访问。可用的信息取决于访问的扩展类型。
所有 X509 证书扩展都具有以下属性
属性 | 描述 |
---|---|
name | 扩展的人类可读名称,例如 'basicConstraints'。 |
criticality | 这是一个表示扩展是否对正确解释证书至关重要的布尔值。 |
oid | 指定此扩展的 ASN.1 对象标识符。 |
supported | 如果是 true,则扩展值的结构将在 Qt 版本之间保持不变。 |
value | 一个结构取决于扩展类型的 QVariant。 |
尽管此类提供了对任何类型的扩展的访问,但只有某些保证在版本之间以不变格式返回。在 isSupported() 方法返回 true
的扩展中,此情况成立。
当前支持扩展及其返回值的结构如下
名称 | OID | 详情 |
---|---|---|
basicConstraints | 2.5.29.19 | 以 QVariantMap 返回。关键字 'ca' 包含一个布尔值,可选关键字 'pathLenConstraint' 包含一个整数。 |
authorityInfoAccess | 1.3.6.1.5.5.7.1.1 | 返回为QVariantMap。每个访问方法都有一个键,其值为URI。 |
subjectKeyIdentifier | 2.5.29.14 | 返回一个包含QString的QVariant。该字符串是键标识符。 |
authorityKeyIdentifier | 2.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公司(芬兰)和/或其他国家/地区的商标。所有其他商标均为各自所有者的财产。