Класс QSslCertificateExtension
Класс QSslCertificateExtension предоставляет API для доступа к расширениям сертификата X509. Подробнее...
| Заголовок: | #include <QSslCertificateExtension> |
| qmake: | QT += network |
| С тех пор: | Qt 5.0 |
Примечание: Все функции в этом классе являются реентерабельными.
Публичные функции
| 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=(QSslCertificateExtension &&other) |
| QSslCertificateExtension & | operator=(const QSslCertificateExtension &other) |
Подробное описание
Класс QSslCertificateExtension предоставляет API для доступа к расширениям сертификата X509.
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()
Создаёт QSslCertificateExtension.
QSslCertificateExtension::QSslCertificateExtension(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
Возвращает значение расширения. Структура возвращаемого значения зависит от типа расширения.
QSslCertificateExtension &QSslCertificateExtension::operator=(QSslCertificateExtension &&other)
Оператор перемещающей присваивания.
QSslCertificateExtension &QSslCertificateExtension::operator=(const QSslCertificateExtension &other)
Присваивает other этому расширению и возвращает ссылку на это расширение.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qsslcertificateextension.html