Spec-Zone.ru › Qt 5.15

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

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

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

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

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

Типы

перечисление Тип записи альтернативного имени { EmailEntry, DnsEntry, IpAddressEntry }
перечисление Формат кодирования { Pem, Der }
перечисление Алгоритм ключа { Rsa, Dsa, Ec, Dh, Opaque }
перечисление Тип ключа { PrivateKey, PublicKey }
перечисление Параметр SSL { SslOptionDisableEmptyFragments, SslOptionDisableSessionTickets, SslOptionDisableCompression, SslOptionDisableServerNameIndication, SslOptionDisableLegacyRenegotiation, …, SslOptionDisableServerCipherPreference }
флаги Параметры SSL
перечисление Протокол SSL { SslV3, SslV2, TlsV1_0, TlsV1_0OrLater, TlsV1, …, SecureProtocols }

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

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

перечисление QSsl::Тип записи альтернативного имени

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

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

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

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

перечисление QSsl::Формат кодирования

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

Постоянная Значение Описание
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::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. Этот перечислитель устарел, используйте TlsV1_0 вместо него.
QSsl::SecureProtocols AnyProtocol + 2 Параметр по умолчанию, использующий протоколы, известные как безопасные.

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

Spec-Zone.ru

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