Spec-Zone.ru › Qt 5.14

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

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

Заголовок: #include <QSsl>
qmake: QT += network
С момента: Qt 4.3

Это пространство имён было введено в Qt 4.3.

  • Устаревшие члены

Типы

Перечисление AlternativeNameEntryType { EmailEntry, DnsEntry, IpAddressEntry }
Перечисление EncodingFormat { Pem, Der }
Перечисление KeyAlgorithm { Rsa, Dsa, Ec, Dh, Opaque }
Перечисление KeyType { PrivateKey, PublicKey }
Перечисление SslOption { SslOptionDisableEmptyFragments, SslOptionDisableSessionTickets, SslOptionDisableCompression, SslOptionDisableServerNameIndication, SslOptionDisableLegacyRenegotiation, …, SslOptionDisableServerCipherPreference }
Флаги SslOptions
Перечисление SslProtocol { SslV3, SslV2, TlsV1_0, TlsV1_0OrLater, TlsV1, …, SecureProtocols }

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

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

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

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

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

Примечание: В Qt 4 это перечисление называлось AlternateNameEntryType. Это имя устарело в Qt 5.

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

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

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

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

перечисление 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 Открытый ключ.

перечисление QSsl::SslOptionФлаги 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 через оператор ИЛИ.

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

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

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

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

Spec-Zone.ru

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