Spec-Zone.ru › Qt 5.13

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

Spec-Zone.ru

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