Пространство имён 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