Пространство имён 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, ..., SslOptionDisableServerCipherPreference } |
| Флаги | Параметры SSL |
| Перечисление | Протокол SSL { SslV3, SslV2, TlsV1_0, TlsV1_0OrLater, ..., 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. |
перечисление QSsl::Алгоритм ключа
Описывает различные алгоритмы ключей, поддерживаемые QSslKey.
| Константа | Значение | Описание |
|---|---|---|
QSsl::Rsa |
1 |
Алгоритм RSA. |
QSsl::Dsa |
2 |
Алгоритм DSA. |
QSsl::Ec |
3 |
Алгоритм эллиптической кривой. |
QSsl::Dh |
4 |
Алгоритм Диффи-Хеллмана. |
QSsl::Opaque |
0 |
Ключ, который должен рассматриваться QSslKey как «чёрный ящик». |
Функциональность неявных ключей позволяет приложениям добавлять поддержку таких функций, как PKCS#11, которые Qt пока не предлагает в виде встроенных компонентов.
перечисление QSsl::Тип ключа
Описывает два типа ключей, которые поддерживает QSslKey.
| Константа | Значение | Описание |
|---|---|---|
QSsl::PrivateKey |
0 |
Закрытый ключ. |
QSsl::PublicKey |
1 |
Открытый ключ. |
перечисление QSsl::Параметр SSLфлаги QSsl::Параметры SSL
Описывает параметры, которые можно использовать для управления деталями поведения SSL. Эти параметры обычно используются для отключения функций, чтобы обойти неисправные серверы.
| Константа | Значение | Описание |
|---|---|---|
QSsl::SslOptionDisableEmptyFragments |
0x01 |
Отключает вставку пустых фрагментов в данные при использовании блочных шифров. При включении этого предотвращаются некоторые атаки (например, атака BEAST), но оно несовместимо с некоторыми серверами. |
QSsl::SslOptionDisableSessionTickets |
0x02 |
Отключает расширение SSL session ticket. Это может привести к более медленному установлению соединения, однако некоторые серверы не совместимы с расширением. |
QSsl::SslOptionDisableCompression |
0x04 |
Отключает расширение SSL compression. При включении это позволяет сжимать данные, передаваемые по SSL, однако некоторые серверы не совместимы с этим расширением. |
QSsl::SslOptionDisableServerNameIndication |
0x08 |
Отключает расширение SSL server name indication. При включении это сообщает серверу о виртуальном хосте, к которому происходит доступ, позволяя ему отвечать правильным сертификатом. |
QSsl::SslOptionDisableLegacyRenegotiation |
0x10 |
Отключает устаревший небезопасный механизм повторного согласования параметров соединения. При включении этот параметр может позволить соединения с устаревшими серверами, но это вносит возможность для злоумышленника ввести нешифрованный текст в сеанс SSL. |
QSsl::SslOptionDisableSessionSharing |
0x20 |
Отключает совместное использование сеанса SSL через атрибут рукопожатия ID сеанса. |
QSsl::SslOptionDisableSessionPersistence |
0x40 |
Отключает хранение сеанса SSL в формате ASN.1, как возвращается QSslConfiguration::sessionTicket(). Включение этой функции добавляет избыточные затраты памяти примерно 1Кб на каждый используемый сеанс с тикетом. |
QSsl::SslOptionDisableServerCipherPreference |
0x80 |
Отключает выбор шифра, выбранного на основе предпочтений сервера, а не в порядке шифров, отправленных клиентом. Этот параметр относится только к сокетам сервера и учитывается только бэкендом OpenSSL. |
По умолчанию SslOptionDisableEmptyFragments включен, так как это вызывает проблемы с большим количеством серверов. Также включен SslOptionDisableLegacyRenegotiation, так как он представляет собой угрозу безопасности. SslOptionDisableCompression включен, чтобы предотвратить атаку, о которой было объявлено в CRIME. SslOptionDisableSessionPersistence включен, чтобы оптимизировать использование памяти. Другие параметры выключены.
Примечание: Доступность указанных выше параметров зависит от версии используемого бэкенда SSL.
Тип SslOptions является псевдонимом для QFlags<SslOption>. Он хранит сочетание значений SslOption через операцию ИЛИ.
перечисление QSsl::Протокол SSL
Описывает протокол шифра.
| Константа | Значение | Описание |
|---|---|---|
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.13/qssl.html