Spec-Zone.ru › Qt 6.0

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

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

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

Типы

Перечисление УровеньПредупреждения { Предупреждение, КритическаяОшибка, Неизвестный }
Перечисление ТипПредупреждения { ЗакрытиеСообщения, НеожиданноеСообщение, ОшибкаРекорда, ПереполнениеРекорда, ОшибкаДекомпрессии, …, НеизвестноеСообщение }
Перечисление ТипВходаАльтернативногоИмени { АдресПочта, DNS_запись, IP_адрес }
Перечисление ФорматКодирования { PEM, DER }
Перечисление АлгоритмКлюча { RSA, DSA, EC, DH, Неявный }
Перечисление ТипКлюча { ПриватныйКлюч, ПубличныйКлюч }
Перечисление ПараметрSSL { ОтключитьПустыеФрагменты, ОтключитьСеансовыеТокены, ОтключитьСжатие, ОтключитьУказаниеИмениСервера, ОтключитьНаследуемуюПереговоры, …, ОтключитьПредпочтениеШифрованияСервера }
Флаги ПараметрыSSL
Перечисление ПротоколSSL { TLSv1_0, TLSv1_0ИлиПозже, TLSv1_1, TLSv1_1ИлиПозже, TLSv1_2, …, БезопасныеПротоколы }

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

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

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

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

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

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

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

[since 6.0] Перечисление ТипПредупреждения

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

См. 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.

enum QSsl::KeyAlgorithm

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

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

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

enum 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 Параметр по умолчанию, использующий известные безопасные протоколы.

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

Spec-Zone.ru

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