Классы Secure Sockets Layer (SSL)
Ниже приведены классы, обеспечивающие поддержку защищенного сетевого взаимодействия с использованием протокола Secure Sockets Layer (SSL), используя OpenSSL Toolkit для выполнения шифрования и обработки протоколов.
Начиная с Qt версии 5.2, официально поддерживаемая версия OpenSSL — 1.0.0 или более поздняя. Версии >= 0.9.7 и < 1.0.0 могут работать, но не гарантируется их работоспособность.
Объявляет перечисления, общие для всех классов 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.
Ограничения импорта и экспорта
Из-за ограничений импорта и экспорта в некоторых частях мира мы не можем предоставить OpenSSL Toolkit в Qt-пакетах. Разработчики, желающие использовать SSL-общение в своих развернутых приложениях, должны либо убедиться, что их пользователи имеют соответствующие установленные библиотеки, либо обратиться к квалифицированному юристу, чтобы гарантировать, что приложения, использующие код из проекта OpenSSL, правильно сертифицированы для импорта и экспорта в соответствующих регионах мира.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/ssl.html