Spec-Zone.ru › Qt 5.15

Классы Secure Sockets Layer (SSL)

Нижеприведенные классы обеспечивают поддержку защищенного сетевого взаимодействия с использованием протокола Secure Sockets Layer (SSL), используя OpenSSL Toolkit для выполнения шифрования и обработки протоколов.

С версии Qt 5.6 и далее официально поддерживается версия OpenSSL 1.0.0 или более поздняя.

QDtls

Этот класс обеспечивает шифрование для UDP-сокет.

QDtlsClientVerifier

Этот класс реализует генерацию и проверку куки DTLS на стороне сервера.

QDtlsClientVerifier::GeneratorParameters

Этот класс определяет параметры генератора куки DTLS.

QOcspResponse

Этот класс представляет ответ протокола Online Certificate Status Protocol.

QSsl

Объявляет перечисления, общие для всех классов SSL в Qt Network.

QSslCertificate

Удобный API для сертификата X509.

QSslCertificateExtension

API для доступа к расширениям сертификата X509.

QSslCipher

Представляет криптографический шифр SSL.

QSslConfiguration

Содержит конфигурацию и состояние соединения SSL.

QSslDiffieHellmanParameters

Интерфейс для параметров Diffie-Hellman для серверов.

QSslEllipticCurve

Представляет эллиптическую кривую для использования алгоритмами шифрования с эллиптическими кривыми.

QSslError

Ошибка SSL.

QSslKey

Интерфейс для закрытых и открытых ключей.

QSslPreSharedKeyAuthenticator

Данные аутентификации для шифров предварительно общих ключей (PSK).

QSslSocket

SSL-шифрованный сокет для клиентов и серверов.

QDtls::HandshakeState

Описание текущего состояния рукопожатия DTLS.

QDtls::QDtlsError

Описание ошибок, которые могут быть найдены QDtls и QDtlsClientVerifier.

QOcspResponse::QOcspCertificateStatus

Описание состояния онлайн-сертификата.

QOcspResponse::QOcspRevocationReason

Описание причины отзыва.

Включение и отключение поддержки 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API