PySide6.QtNetwork.QSslCertificateExtension

class QSslCertificateExtension

QSslCertificateExtension 类提供了一个用于访问X509证书扩展的API。更多

概要

方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

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

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

属性

描述

name

扩展的人类可读名称,例如‘basicConstraints’。

criticality

这是一个布尔值,指示扩展对于正确解释证书是否至关重要。

oid

指定此扩展的ASN.1对象标识符。

支持

如果为真,扩展值的结构在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中找到。

另请参阅

extensions()

__init__()

构造一个 QSslCertificateExtension

__init__(other)
Parameters:

其他QSslCertificateExtension

构造other的副本。

isCritical()
Return type:

布尔

返回扩展的关键性。

isSupported()
Return type:

布尔

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

name()
Return type:

字符串

返回扩展的名称。如果扩展没有已知的名称,则将返回OID。

oid()
Return type:

字符串

返回此扩展的ASN.1 OID。

swap(other)
Parameters:

其他QSslCertificateExtension

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

value()
Return type:

对象

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