Spec-Zone.ru › Qt 6.1

Пространство имён QSsl

Пространство имён QSsl объявляет перечисления, общие для всех классов SSL в Qt Network. Подробнее...

Заголовок: #include <QSsl>
CMake: find_package(Qt6 COMPONENTS Network REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network

Типы

Перечисление УровеньПредупреждения { Предупреждение, КритическаяОшибка, Неизвестный }
Перечисление ТипПредупреждения { Закрытие, НеожиданноеСообщение, ОшибкаMACЗаписи, ПереполнениеЗаписи, ОшибкаДекомпрессии, …, НеизвестноеСообщениеПредупреждения }
Перечисление ТипЗаписиАльтернативногоИмени { АдресПочта, DNS, IPАдрес }
Перечисление ФорматКодирования { Pem, Der }
Перечисление РеализованныйКласс { Ключ, Сертификат, Сокет, DiffieHellman, ЭллиптическаяКривая, Dtls }
Перечисление АлгоритмКлюча { RSA, DSA, EC, DH, Неявный }
Перечисление ТипКлюча { ПриватныйКлюч, ПубличныйКлюч }
Перечисление ПараметрSSL { ОтключитьПустыеФрагменты, ОтключитьБилетыСеанса, ОтключитьСжатие, ОтключитьУказаниеИмениСервера, ОтключитьНаследованиеНаследияПереподключения, …, ОтключитьПредпочтениеШифрованияСервера }
Флаги ПараметрыSSL
Перечисление ПротоколSSL { TlsV1_0, TlsV1_0ИлиПозже, TlsV1_1, TlsV1_1ИлиПозже, TlsV1_2, …, БезопасныеПротоколы }
Перечисление ПоддерживаемаяФункция { ПроверкаСертификата, КлиентскаяСторонаAlpn, СервернаяСторонаAlpn, Ocsp, Psk, …, Предупреждения }

Подробное описание

Документация по типам

[since 6.0] Перечисление УровеньПредупреждения

Описывает уровень сообщения об ошибке.

Это перечисление описывает уровень сообщения об ошибке, которое было отправлено или получено.

Константа Значение Описание
QSslSocket::AlertLevel::Warning 0 Сообщение об ошибке, не являющееся критическим
QSslSocket::AlertLevel::Fatal 1 Критическое сообщение об ошибке; базовый компонент должным образом обработает такую ошибку и закроет соединение.
QSslSocket::AlertLevel::Unknown 2 Предупреждение неизвестного уровня серьезности.

Это перечисление было введено или изменено в Qt 6.0.

[since 6.0] enum class AlertType

Перечисляет возможные коды, которые может иметь сообщение об ошибке

См. RFC 8446, раздел 6 для возможных значений и их значений.

Константа Значение Описание
QSslSocket::AlertType::CloseNotify 0 ,
QSslSocket::AlertType::UnexpectedMessage 10
QSslSocket::AlertType::BadRecordMac 20
QSslSocket::AlertType::RecordOverflow 22
QSslSocket::AlertType::DecompressionFailure 30
QSslSocket::AlertType::HandshakeFailure 40
QSslSocket::AlertType::NoCertificate 41
QSslSocket::AlertType::BadCertificate 42
QSslSocket::AlertType::UnsupportedCertificate 43
QSslSocket::AlertType::CertificateRevoked 44
QSslSocket::AlertType::CertificateExpired 45
QSslSocket::AlertType::CertificateUnknown 46
QSslSocket::AlertType::IllegalParameter 47
QSslSocket::AlertType::UnknownCa 48
QSslSocket::AlertType::AccessDenied 49
QSslSocket::AlertType::DecodeError 50
QSslSocket::AlertType::DecryptError 51
QSslSocket::AlertType::ExportRestriction 60
QSslSocket::AlertType::ProtocolVersion 70
QSslSocket::AlertType::InsufficientSecurity 71
QSslSocket::AlertType::InternalError 80
QSslSocket::AlertType::InappropriateFallback 86
QSslSocket::AlertType::UserCancelled 90
QSslSocket::AlertType::NoRenegotiation 100
QSslSocket::AlertType::MissingExtension 109
QSslSocket::AlertType::UnsupportedExtension 110
QSslSocket::AlertType::CertificateUnobtainable 111
QSslSocket::AlertType::UnrecognizedName 112
QSslSocket::AlertType::BadCertificateStatusResponse 113
QSslSocket::AlertType::BadCertificateHashValue 114
QSslSocket::AlertType::UnknownPskIdentity 115
QSslSocket::AlertType::CertificateRequired 116
QSslSocket::AlertType::NoApplicationProtocol 120
QSslSocket::AlertType::UnknownAlertMessage 255

Этот перечисление был введен или изменен в Qt 6.0.

enum QSsl::AlternativeNameEntryType

Описывает типы ключей для записей альтернативных имен в QSslCertificate.

Константа Значение Описание
QSsl::EmailEntry 0 Запись электронной почты; запись содержит адрес электронной почты, для которого сертификат действителен.
QSsl::DnsEntry 1 Запись имени хоста DNS; запись содержит имя хоста, для которого сертификат действителен. Запись может содержать подстановки.
QSsl::IpAddressEntry 2 Запись IP-адреса; запись содержит запись IP-адреса, для которого сертификат действителен, добавлена в Qt 5.13.

См. также QSslCertificate::subjectAlternativeNames().

enum QSsl::EncodingFormat

Описывает поддерживаемые форматы кодирования для сертификатов и ключей.

Постоянная Значение Описание
QSsl::Pem 0 Формат PEM.
QSsl::Der 1 Формат DER.

[since 6.1] перечисление ImplementedClass

Перечисляет классы, реализованные TLS-бекендом.

В QtNetwork некоторые классы имеют реализацию, специфичную для бэкенда, и поэтому могут быть не реализованы. Перечисления в этом перечислении указывают, какой класс имеет рабочую реализацию в бэкенде.

Постоянная Значение Описание
QSslSocket::ImplementedClass::Key 0 Класс QSslKey.
QSslSocket::ImplementedClass::Certificate 1 Класс QSslCertificate.
QSslSocket::ImplementedClass::Socket 2 Класс QSslSocket.
QSslSocket::ImplementedClass::DiffieHellman 3 Класс QSslDiffieHellmanParameters
QSslSocket::ImplementedClass::EllipticCurve 4 Класс QSslEllipticCurve
QSslSocket::ImplementedClass::Dtls 5 Классы QDtls и QDtlsClientVerifier

Это перечисление было добавлено или изменено в Qt 6.1.

перечисление QSsl::KeyAlgorithm

Описывает различные алгоритмы ключей, поддерживаемые QSslKey.

Постоянная Значение Описание
QSsl::Rsa 1 Алгоритм RSA.
QSsl::Dsa 2 Алгоритм DSA.
QSsl::Ec 3 Алгоритм Эллиптической кривой.
QSsl::Dh 4 Алгоритм Диффи-Хеллмана.
QSsl::Opaque 0 Ключ, который должен обрабатываться QSslKey как «черный ящик».

Функциональность неявного ключа позволяет приложениям добавлять поддержку таких возможностей, как PKCS#11, которые в настоящее время Qt не предоставляет напрямую.

перечисление QSsl::KeyType

Описывает два типа ключей, поддерживаемых QSslKey.

Постоянная Значение Описание
QSsl::PrivateKey 0 Закрытый ключ.
QSsl::PublicKey 1 Открытый ключ.

enum QSsl::SslOptionflags QSsl::SslOptions

Описывает параметры, которые могут быть использованы для управления деталями поведения SSL. Эти параметры обычно используются для отключения функций для обхода работы с ошибочными серверами.

Константа Значение Описание
QSsl::SslOptionDisableEmptyFragments 0x01 Отключает вставку пустых фрагментов в данные при использовании блочных шифров. При включении это предотвращает некоторые атаки (такие как атака BEAST), однако это несовместимо с некоторыми серверами.
QSsl::SslOptionDisableSessionTickets 0x02 Отключает расширение билета сеанса SSL. Это может привести к более медленному подключению, но некоторые серверы не совместимы с расширением.
QSsl::SslOptionDisableCompression 0x04 Отключает расширение сжатия SSL. При включении это позволяет сжимать данные, передаваемые по SSL, но некоторые серверы не совместимы с этим расширением.
QSsl::SslOptionDisableServerNameIndication 0x08 Отключает расширение указания имени сервера SSL. При включении это сообщает серверу о виртуальном хосте, к которому осуществляется доступ, позволяя ему ответить с правильным сертификатом.
QSsl::SslOptionDisableLegacyRenegotiation 0x10 Отключает более старый небезопасный механизм переподключения параметров соединения. При включении этот параметр может позволить соединения для серверов старых версий, но это создает возможность для атаки, при которой злоумышленник может ввести текст без шифрования в сеанс SSL.
QSsl::SslOptionDisableSessionSharing 0x20 Отключает совместное использование сеансов SSL через атрибут рукопожатия идентификатора сеанса.
QSsl::SslOptionDisableSessionPersistence 0x40 Отключает хранение сеанса SSL в формате ASN.1, возвращаемом QSslConfiguration::sessionTicket(). Включение этой функции добавляет избыточные затраты памяти примерно 1 КБ на каждый используемый билет сеанса.
QSsl::SslOptionDisableServerCipherPreference 0x80 Отключает выбор шифра, выбранного на основе предпочтений сервера, а не порядка шифров, отправленных клиентом. Этот параметр имеет значение только для сокетов сервера и поддерживается только ядром OpenSSL.

По умолчанию SslOptionDisableEmptyFragments включен, так как это вызывает проблемы с большим количеством серверов. SslOptionDisableLegacyRenegotiation также включен, так как это представляет собой риск для безопасности. SslOptionDisableCompression включен, чтобы предотвратить атаку, опубликованную CRIME. SslOptionDisableSessionPersistence включен для оптимизации использования памяти. Другие параметры выключены.

Примечание: Доступность вышеперечисленных параметров зависит от используемой версии SSL-бекенда.

Тип SslOptions — это псевдоним для QFlags<SslOption>. Он хранит логическое ИЛИ комбинацию значений SslOption.

enum QSsl::SslProtocol

Описывает протокол шифра.

Константа Значение Описание
QSsl::TlsV1_0 0 TLSv1.0
QSsl::TlsV1_0OrLater 5 TLSv1.0 и более поздние версии.
QSsl::TlsV1_1 1 TLSv1.1.
QSsl::TlsV1_1OrLater 6 TLSv1.1 и более поздние версии.
QSsl::TlsV1_2 2 TLSv1.2.
QSsl::TlsV1_2OrLater 7 TLSv1.2 и более поздние версии.
QSsl::DtlsV1_0 8 DTLSv1.0
QSsl::DtlsV1_0OrLater 9 DTLSv1.0 и более поздние версии.
QSsl::DtlsV1_2 10 DTLSv1.2
QSsl::DtlsV1_2OrLater 11 DTLSv1.2 и более поздние версии.
QSsl::TlsV1_3 12 TLSv1.3. (Начиная с Qt 5.12)
QSsl::TlsV1_3OrLater 13 TLSv1.3 и более поздние версии. (Начиная с Qt 5.12)
QSsl::UnknownProtocol -1 Протокол шифра определить не удалось.
QSsl::AnyProtocol 3 Любой поддерживаемый протокол. Это значение используется только классом QSslSocket.
QSsl::SecureProtocols 4 Значение по умолчанию, использующее протоколы, известные своей безопасностью.

[since 6.1] enum class SupportedFeature

Перечисляет возможные функции, которые поддерживает TLS-бекенд.

В QtNetwork классы, связанные с TLS, имеют общедоступный API, который может быть не реализован некоторыми бэкендами, например, наш бэкенд SecureTransport не поддерживает ALPN на стороне сервера. Перечислители из перечисления SupportedFeature указывают, что определенная функция поддерживается.

Константа Значение Описание
QSslSocket::SupportedFeature::CertificateVerification 0 Указывает, что QSslCertificate::verify() реализовано бэкендом.
QSslSocket::SupportedFeature::ClientSideAlpn 1 ALPN (Протокол переговоров уровня приложения) на стороне клиента.
QSslSocket::SupportedFeature::ServerSideAlpn 2 ALPN на стороне сервера.
QSslSocket::SupportedFeature::Ocsp 3 OCSP-стапляж (Протокол статуса сертификата в режиме онлайн).
QSslSocket::SupportedFeature::Psk 4 Предварительно установленные ключи.
QSslSocket::SupportedFeature::SessionTicket 5 Жетоны сеанса.
QSslSocket::SupportedFeature::Alerts 6 Информация об отправленных и полученных сообщениях об ошибках.

Этот перечисление был введён или изменён в Qt 6.1.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qssl.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API