Классы 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. |
|
Описание ошибок, которые могут быть найдены QDtls и QDtlsClientVerifier. |
|
Описание состояния онлайн-сертификата. |
|
Описание причины отзыва. |
Включение и отключение поддержки 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.
Безопасность транспортного уровня для датаграмм
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.15/ssl.html