Класс QSslCertificateExtension
Класс QSslCertificateExtension предоставляет API для доступа к расширениям сертификата X509. Подробнее...
| Заголовок: | #include <QSslCertificateExtension> |
| qmake: | QT += network |
| С тех пор: | Qt 5.0 |
Этот класс был представлен в 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 | Если значение истинно, структура значения расширения не изменится между версиями 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-5.13/qsslcertificateextension.html