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