Классы Secure Sockets Layer (SSL)
Приведённые ниже классы обеспечивают поддержку защищённого сетевого взаимодействия с использованием протокола Secure Sockets Layer (SSL), используя OpenSSL Toolkit для выполнения шифрования и обработки протоколов.
Начиная с версии Qt 5.6, официально поддерживаемая версия OpenSSL — 1.0.0 или более поздняя.
Этот класс обеспечивает шифрование для UDP-сокет |
|
Этот класс реализует генерацию и проверку куки DTLS на стороне сервера |
|
Этот класс определяет параметры генератора куки DTLS |
|
Описывает текущее состояние рукопожатия DTLS |
|
Описывает ошибки, которые могут быть обнаружены QDtls и QDtlsClientVerifier |
|
Этот класс представляет ответ протокола Online Certificate Status Protocol |
|
Описывает состояние онлайн-сертификата |
|
Описывает причину аннулирования |
|
Объявляет перечисления, общие для всех классов SSL в Qt Network |
|
Удобный API для X509-сертификата |
|
API для доступа к расширениям X509-сертификата |
|
Представляет криптографический шифр SSL |
|
Содержит конфигурацию и состояние SSL-соединения |
|
Интерфейс для параметров Диффи-Хеллмана для серверов |
|
Представляет эллиптическую кривую для использования алгоритмами шифрования с эллиптическими кривыми |
|
Ошибка SSL |
|
Интерфейс для закрытых и открытых ключей |
|
Данные аутентификации для шифров с предварительно общими ключами (PSK) |
|
SSL-зашифрованный сокет для клиентов и серверов |
Включение и отключение поддержки SSL
При построении Qt из исходного кода система конфигурации проверяет наличие заголовка openssl/opensslv.h, предоставляемого пакетами OpenSSL из исходного кода или от разработчиков.
По умолчанию SSL-поддерживаемая библиотека Qt динамически загружает любую установленную библиотеку OpenSSL во время выполнения. Однако можно связать библиотеку на этапе компиляции, сконфигурировав Qt с помощью опции -openssl-linked.
При построении версии Qt, связанной с OpenSSL, система сборки попытается связаться с библиотеками libssl и libcrypt, расположенными по умолчанию на системе разработчика. Это расположение настраиваемо: установите переменную среды OPENSSL_LIBS для включения параметров компоновщика, необходимых для связывания Qt с установленной библиотекой. Например, на системе Unix/Linux:
OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked
Для отключения поддержки 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-5.14/ssl.html