Spec-Zone.ru › Qt 5.13

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

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

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

QDtls

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

QDtlsClientVerifier

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

QDtlsClientVerifier::GeneratorParameters

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

QDtls::HandshakeState

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

QDtls::QDtlsError

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

QOcspResponse

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

QOcspResponse::QOcspCertificateStatus

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

QOcspResponse::QOcspRevocationReason

Описание причины аннулирования.

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-шифрованный сокет для клиентов и серверов.

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

Spec-Zone.ru

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