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公司(芬兰)和/或其他国家/地区的商标。所有其他商标均为各自所有者的财产。