Классы 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, система сборки 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.0/ssl.html