Классы Secure Sockets Layer (SSL)
Нижеприведённые классы предоставляют поддержку защищённого сетевого взаимодействия с использованием протокола Secure Sockets Layer (SSL), используя OpenSSL Toolkit для выполнения шифрования и обработки протоколов.
Начиная с Qt версии 5.6, официально поддерживаемая версия OpenSSL — 1.0.0 или более поздняя.
Этот класс обеспечивает шифрование для сокетов UDP |
|
Этот класс реализует генерацию и проверку куки DTLS на стороне сервера |
|
Этот класс определяет параметры генератора куки DTLS |
|
Этот класс представляет собой ответ протокола Online Certificate Status Protocol |
|
Объявляет перечисления, общие для всех классов SSL в Qt Network |
|
Удобный API для сертификата X509 |
|
API для доступа к расширениям сертификата X509 |
|
Представляет собой криптографический шифр SSL |
|
Содержит конфигурацию и состояние соединения SSL |
|
Интерфейс для параметров Diffie-Hellman для серверов |
|
Представляет эллиптическую кривую для использования алгоритмами шифрования с эллиптической кривой |
|
Ошибка SSL |
|
Интерфейс для закрытых и открытых ключей |
|
Данные аутентификации для шифров с предварительно объявленными ключами (PSK) |
|
SSL-шифрованный сокет для клиентов и серверов |
|
Описание уровня сообщения об ошибке |
|
Перечисление возможных кодов, которые может иметь сообщение об ошибке |
|
Описание текущего состояния рукопожатия DTLS |
|
Перечисление классов, которые реализует бэкенд TLS |
|
Описание ошибок, которые могут быть обнаружены QDtls и QDtlsClientVerifier |
|
Описание состояния сертификата Online Certificate Status |
|
Описание причины аннулирования |
|
Перечисление возможных функций, которые поддерживает бэкенд TLS |
Включение и отключение поддержки SSL
При построении Qt из исходного кода система конфигурации проверяет наличие заголовка openssl/opensslv.h, предоставляемого исходными или разработчиком пакетами OpenSSL.
По умолчанию библиотека Qt с поддержкой SSL динамически загружает любую установленную библиотеку OpenSSL во время выполнения. Однако можно связать библиотеку на этапе компиляции, настроив Qt с параметром -openssl-linked.
При построении версии Qt, связанной с OpenSSL, система сборки Qt будет использовать команду CMake FindOpenSSL для поиска OpenSSL в нескольких стандартных местах. Вы можете установить переменную CMake OPENSSL_ROOT_DIR, чтобы указать конкретное расположение.
Например:
configure -openssl-linked -- -D OPENSSL_ROOT_DIR=<openssl_dir>
Чтобы отключить поддержку SSL в сборке Qt, настройте Qt с параметром -no-openssl.
Безопасность транспортного уровня для датаграмм
Datagram Transport Layer Security (DTLS) — это протокол, который обеспечивает безопасность для приложений на основе датаграмм, защищая их от перехвата, изменения или подделки сообщений. Протокол DTLS основан на протоколе Transport Layer Security (TLS), ориентированном на потоки. QtNetwork позволяет использовать DTLS с протоколом User Datagram Protocol (UDP), как определено в RFC 6347.
Ограничения импорта и экспорта
Установщики бинарных пакетов Qt включают библиотеки OpenSSL, используемые QtNetwork. Однако они не автоматически развертываются с приложениями, построенными с помощью Qt. Ограничения импорта и экспорта применяются к некоторым типам программного обеспечения и в некоторых регионах мира. Разработчики, желающие использовать SSL-связь в своих развернутых приложениях, должны либо убедиться, что у их пользователей установлены соответствующие библиотеки, либо обратиться к квалифицированному юристу, чтобы убедиться, что приложения, использующие код из проекта OpenSSL, надлежащим образом сертифицированы для импорта и экспорта в соответствующих регионах мира.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/ssl.html