Класс 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 | Если это значение истинно, структура значения расширения не изменится между версиями 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/archives/qt-5.6/qsslcertificateextension.html