Класс QSslCertificateExtension
Класс QSslCertificateExtension предоставляет API для доступа к расширениям сертификата X509. Подробнее...
| Заголовок: | #include <QSslCertificateExtension> |
| CMake: | find_package(Qt6 COMPONENTS Network REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
| С момента: | Qt 5.0 |
Примечание: Все функции этого класса являются повторно-входными.
Открытые функции
| QSslCertificateExtension(const QSslCertificateExtension &other) | |
| QSslCertificateExtension() | |
| QSslCertificateExtension & | operator=(const QSslCertificateExtension &other) |
| ~QSslCertificateExtension() | |
| bool | isCritical() const |
| bool | isSupported() const |
| QString | name() const |
| QString | oid() const |
| void | swap(QSslCertificateExtension &other) |
| QVariant | value() const |
Подробное описание
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 | Возвращается в виде QVariant, содержащей QString. Строка — это идентификатор ключа. |
| authorityKeyIdentifier | 2.5.29.35 | Возвращается в виде QVariantMap. Необязательный ключ 'keyid' содержит идентификатор ключа в виде шестнадцатеричной строки, хранящейся в QByteArray. Необязательный ключ 'serial' содержит серийный номер ключа подписи как qlonglong. В настоящее время нет поддержки поля общих имен этого расширения. |
В дополнение к поддерживаемым расширениям выше, многие другие распространенные расширения будут возвращаться в разумно структурированном виде. Расширения, для которых у бэкенда SSL нет никакой поддержки, будут возвращены в виде QByteArray.
Дополнительную информацию о типах расширений, которые могут содержать сертификаты, можно найти в RFC 5280.
См. также QSslCertificate::extensions().
Документация по функциям-членам
QSslCertificateExtension::QSslCertificateExtension(const QSslCertificateExtension &other)
Создает копию other.
QSslCertificateExtension::QSslCertificateExtension()
Создает QSslCertificateExtension.
QSslCertificateExtension &QSslCertificateExtension::operator=(const QSslCertificateExtension &other)
Присваивает other этому расширению и возвращает ссылку на это расширение.
QSslCertificateExtension::~QSslCertificateExtension()
Уничтожает расширение.
bool QSslCertificateExtension::isCritical() const
Возвращает критичность расширения.
bool QSslCertificateExtension::isSupported() const
Возвращает true, если это расширение поддерживается. В этом случае поддержка означает, что структура QVariant, возвращаемая методом value(), не будет изменяться между версиями. Неподдерживаемые расширения могут свободно использоваться, однако нет гарантии, что возвращаемые данные будут иметь одинаковую структуру между версиями.
QString QSslCertificateExtension::name() const
Возвращает имя расширения. Если имя расширения неизвестно, возвращается OID.
QString QSslCertificateExtension::oid() const
Возвращает ASN.1 OID этого расширения.
void QSslCertificateExtension::swap(QSslCertificateExtension &other)
Меняет местами этот экземпляр расширения сертификата с other. Эта функция очень быстрая и никогда не терпит неудачу.
QVariant QSslCertificateExtension::value() const
Возвращает значение расширения. Структура возвращаемого значения зависит от типа расширения.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qsslcertificateextension.html