Spec-Zone.ru › Qt 5.12

Класс QSslConfiguration

Класс QSslConfiguration хранит конфигурацию и состояние соединения SSL. Подробнее...

Заголовок: #include <QSslConfiguration>
qmake: QT += network
С момента: Qt 4.4
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются перевключёнными (reentrant).

Общие типы

перечисление NextProtocolNegotiationStatus { NextProtocolNegotiationNone, NextProtocolNegotiationNegotiated, NextProtocolNegotiationUnsupported }

Открытые функции

QSslConfiguration()
QSslConfiguration(const QSslConfiguration &other)
~QSslConfiguration()
QList<QByteArray> allowedNextProtocols() const
QMap<QByteArray, QVariant> backendConfiguration() const
QList<QSslCertificate> caCertificates() const
QList<QSslCipher> ciphers() const
QSslDiffieHellmanParameters diffieHellmanParameters() const
bool dtlsCookieVerificationEnabled() const
QVector<QSslEllipticCurve> ellipticCurves() const
QSslKey ephemeralServerKey() const
bool isNull() const
QSslCertificate localCertificate() const
QList<QSslCertificate> localCertificateChain() const
QByteArray nextNegotiatedProtocol() const
QSslConfiguration::NextProtocolNegotiationStatus nextProtocolNegotiationStatus() const
QSslCertificate peerCertificate() const
QList<QSslCertificate> peerCertificateChain() const
int peerVerifyDepth() const
QSslSocket::PeerVerifyMode peerVerifyMode() const
QByteArray preSharedKeyIdentityHint() const
QSslKey privateKey() const
QSsl::SslProtocol protocol() const
QSslCipher sessionCipher() const
QSsl::SslProtocol sessionProtocol() const
QByteArray sessionTicket() const
int sessionTicketLifeTimeHint() const
void setAllowedNextProtocols(QList<QByteArray> protocols)
void setBackendConfiguration(const QMap<QByteArray, QVariant> &backendConfiguration = ...)
void setBackendConfigurationOption(const QByteArray &name, const QVariant &value)
void setCaCertificates(const QList<QSslCertificate> &certificates)
void setCiphers(const QList<QSslCipher> &ciphers)
void setDiffieHellmanParameters(const QSslDiffieHellmanParameters &dhparams)
void setDtlsCookieVerificationEnabled(bool enable)
void setEllipticCurves(const QVector<QSslEllipticCurve> &curves)
void setLocalCertificate(const QSslCertificate &certificate)
void setLocalCertificateChain(const QList<QSslCertificate> &localChain)
void setPeerVerifyDepth(int depth)
void setPeerVerifyMode(QSslSocket::PeerVerifyMode mode)
void setPreSharedKeyIdentityHint(const QByteArray &hint)
void setPrivateKey(const QSslKey &key)
void setProtocol(QSsl::SslProtocol protocol)
void setSessionTicket(const QByteArray &sessionTicket)
void setSslOption(QSsl::SslOption option, bool on)
void swap(QSslConfiguration &other)
bool testSslOption(QSsl::SslOption option) const
bool operator!=(const QSslConfiguration &other) const
QSslConfiguration & operator=(QSslConfiguration &&other)
QSslConfiguration & operator=(const QSslConfiguration &other)
bool operator==(const QSslConfiguration &other) const

Статические публичные члены

const char [] ALPNProtocolHTTP2
const char [] NextProtocolHttp1_1
const char [] NextProtocolSpdy3_0
QSslConfiguration defaultConfiguration()
QSslConfiguration defaultDtlsConfiguration()
void setDefaultConfiguration(const QSslConfiguration &configuration)
void setDefaultDtlsConfiguration(const QSslConfiguration &configuration)
QList<QSslCipher> supportedCiphers()
QVector<QSslEllipticCurve> supportedEllipticCurves()
QList<QSslCertificate> systemCaCertificates()

Подробное описание

Класс QSslConfiguration хранит конфигурацию и состояние соединения SSL.

QSslConfiguration используется классами Qt для сетевых операций для передачи информации об открытом соединении SSL и для того, чтобы приложение могло контролировать определённые функции этого соединения.

Настройки, которые в настоящее время поддерживает QSslConfiguration:

  • Протокол SSL/TLS, который будет использоваться
  • Сертификат, который будет представлен узлу в ходе соединения, и соответствующий ему закрытый ключ
  • Шифры, разрешённые для использования при шифровании соединения
  • Список сертификатов Удостоверяющих центров, используемых для проверки сертификата узла

Эти настройки применяются только во время рукопожатия соединения. Их установка после установления соединения не оказывает никакого влияния.

Состояние, которое поддерживает QSslConfiguration:

  • Сертификат, представленный узлом во время рукопожатия, вместе с цепочкой, ведущей к сертификату Удостоверяющего центра
  • Шифр, использованный для шифрования этого сеанса

Состояние может быть получено только после начала соединения SSL, но не обязательно до его завершения. Некоторые настройки могут изменяться в ходе SSL-соединения без необходимости его перезапуска (например, шифр может меняться со временем).

Состояние в объектах QSslConfiguration изменить нельзя.

QSslConfiguration может использоваться с QSslSocket и API сетевого доступа.

Обратите внимание, что изменение настроек в QSslConfiguration недостаточно для изменения настроек в связанном SSL-соединении. Вам необходимо вызвать setSslConfiguration на изменённом объекте QSslConfiguration, чтобы добиться этого. Следующий пример демонстрирует, как изменить протокол на TLSv1_0 в объекте QSslSocket:

QSslConfiguration config = sslSocket.sslConfiguration();
config.setProtocol(QSsl::TlsV1_0);
sslSocket.setSslConfiguration(config);

См. также QSsl::SslProtocol, QSslCertificate, QSslCipher, QSslKey, QSslSocket, QNetworkAccessManager, QSslSocket::sslConfiguration() и QSslSocket::setSslConfiguration().

Документация по типам членов

enum QSslConfiguration::NextProtocolNegotiationStatus

Описывает состояние следующего протокола (NPN) или протокола прикладного уровня (ALPN).

Константа Значение Описание
QSslConfiguration::NextProtocolNegotiationNone 0 Ещё не был согласован (договорен) ни один протокол приложения.
QSslConfiguration::NextProtocolNegotiationNegotiated 1 Протокол следующего уровня был согласован (см. nextNegotiatedProtocol()).
QSslConfiguration::NextProtocolNegotiationUnsupported 2 Клиент и сервер не смогли договориться о общем протоколе следующего уровня.

Документация по функциям-членам

QSslConfiguration::QSslConfiguration()

Создаёт пустую конфигурацию SSL. Эта конфигурация не содержит корректных настроек, и состояние будет пустым. isNull() вернёт true после вызова этого конструктора.

После вызова любых методов-установщиков isNull() вернёт false.

QSslConfiguration::QSslConfiguration(const QSslConfiguration &other)

Копирует конфигурацию и состояние other. Если other пуста, то и этот объект будет пустым.

QSslConfiguration::~QSslConfiguration()

Освобождает все ресурсы, используемые QSslConfiguration.

QList<QByteArray> QSslConfiguration::allowedNextProtocols() const

Эта функция возвращает разрешённые протоколы, которые могут быть согласованы с сервером с помощью расширения TLS следующего протокола (NPN) или протокола прикладного уровня (ALPN), как задано setAllowedNextProtocols().

Эта функция была добавлена в Qt 5.3.

См. также nextNegotiatedProtocol(), nextProtocolNegotiationStatus(), setAllowedNextProtocols(), QSslConfiguration::NextProtocolSpdy3_0 и QSslConfiguration::NextProtocolHttp1_1.

QMap<QByteArray, QVariant> QSslConfiguration::backendConfiguration() const

Возвращает конфигурацию, специфичную для бэкенда.

Будут возвращены только опции, установленные с помощью setBackendConfigurationOption() или setBackendConfiguration(). Внутренняя стандартная конфигурация бэкенда не сообщается.

Эта функция была добавлена в Qt 5.11.

См. также setBackendConfigurationOption() и setBackendConfiguration().

QList<QSslCertificate> QSslConfiguration::caCertificates() const

Возвращает базу данных сертификатов Удостоверяющих центров (CA) для этого соединения. База данных сертификатов CA используется сокетом во время фазы рукопожатия для проверки сертификата узла. Она может быть изменена перед фазой рукопожатия с помощью setCaCertificates() или с помощью QSslSocket методов addCaCertificate() и addCaCertificates().

См. также setCaCertificates().

QList<QSslCipher> QSslConfiguration::ciphers() const

Возвращает текущий набор криптографических шифров для этого соединения. Этот список используется во время рукопожатия для выбора шифра сессии. Возвращаемый список шифров упорядочен по убыванию приоритета. (т. е. первый шифр в списке — наиболее предпочтительный). Шифр сессии будет первым в списке, который также поддерживается узлом.

По умолчанию, во время фазы рукопожатия может быть выбран любой из шифров, поддерживаемых SSL-библиотеками системы, которые могут отличаться от системы к системе. Список шифров, поддерживаемых SSL-библиотеками этой системы, возвращается функцией QSslSocket::supportedCiphers(). Вы можете ограничить список шифров, используемых для выбора шифра сессии для этого сокета, вызвав setCiphers() с подмножеством поддерживаемых шифров. Вы можете вернуться к использованию всего набора, вызвав setCiphers() со списком, возвращённым QSslSocket::supportedCiphers().

См. также setCiphers() и QSslSocket::supportedCiphers().

QSslConfiguration QSslConfiguration::defaultConfiguration()

Возвращает конфигурацию SSL по умолчанию, которая используется для новых SSL-соединений.

Конфигурация SSL по умолчанию включает:

  • нет локального сертификата и закрытого ключа
  • протокол SecureProtocols
  • стандартный список сертификатов CA системы
  • список шифров, равный списку поддерживаемых SSL-библиотеками системы шифров SSL, которые имеют 128 бит или более

См. также QSslSocket::supportedCiphers() и setDefaultConfiguration().

[static] QSslConfiguration QSslConfiguration::defaultDtlsConfiguration()

Возвращает конфигурацию DTLS по умолчанию, используемую в новых соединениях DTLS.

Конфигурация DTLS по умолчанию состоит из:

  • отсутствия локального сертификата и закрытого ключа
  • протокола DtlsV1_2OrLater
  • списка сертификатов CA по умолчанию системы
  • списка шифров, равного списку шифров TLS 1.2, поддерживаемых библиотеками SSL, использующих 128 или более секретных бит для шифра.

См. также setDefaultDtlsConfiguration().

QSslDiffieHellmanParameters QSslConfiguration::diffieHellmanParameters() const

Получает текущий набор параметров Diffie-Hellman.

Если параметры Diffie-Hellman не были заданы, объект QSslConfiguration использует по умолчанию 1024-битовую группу MODP из RFC 2409.

Эта функция была добавлена в Qt 5.8.

См. также setDiffieHellmanParameters().

bool QSslConfiguration::dtlsCookieVerificationEnabled() const

Эта функция возвращает true, если проверка cookie DTLS была включена на сокете стороны сервера.

См. также setDtlsCookieVerificationEnabled().

QVector<QSslEllipticCurve> QSslConfiguration::ellipticCurves() const

Возвращает текущий список эллиптических кривых для этого соединения. Этот список используется во время фазы рукопожатия для выбора эллиптической кривой (при использовании шифра эллиптической кривой). Возвращаемый список кривых упорядочен по убыванию приоритета (т. е. первая кривая в списке имеет наивысший приоритет).

По умолчанию фаза рукопожатия может выбрать любую кривую, поддерживаемую библиотеками SSL этой системы, которые могут отличаться от системы к системе. Список кривых, поддерживаемых библиотеками SSL этой системы, возвращается функцией QSslSocket::supportedEllipticCurves().

Вы можете ограничить список кривых, используемых для выбора шифра сессии для этого сокета, вызвав setEllipticCurves() с подмножеством поддерживаемых шифров. Вы можете вернуться к использованию всего набора, вызвав setEllipticCurves() со списком, возвращаемым QSslSocket::supportedEllipticCurves().

Эта функция была добавлена в Qt 5.5.

См. также setEllipticCurves.

QSslKey QSslConfiguration::ephemeralServerKey() const

Возвращает временный серверный ключ, используемый для алгоритмов шифрования с защитой по-умолчанию, например, DHE-RSA-AES128-SHA.

Временный ключ доступен только в режиме клиента, т. е. QSslSocket::SslClientMode. При работе в серверном режиме или использовании алгоритма шифрования без защиты по-умолчанию возвращается нулевой ключ. Временный серверный ключ будет установлен перед выводом сигнала encrypted().

Эта функция была добавлена в Qt 5.7.

bool QSslConfiguration::isNull() const

Возвращает true , если это нулевой объект QSslConfiguration.

Объект QSslConfiguration является нулевым, если он был создан по умолчанию и методы-сеттеры не были вызваны.

См. также setProtocol(), setLocalCertificate(), setPrivateKey(), setCiphers() и setCaCertificates().

QSslCertificate QSslConfiguration::localCertificate() const

Возвращает сертификат, который будет представлен партнеру во время процесса SSL-рукопожатия.

См. также setLocalCertificate().

QList<QSslCertificate> QSslConfiguration::localCertificateChain() const

Возвращает цепочку сертификатов, которая будет представлена партнеру во время процесса SSL-рукопожатия.

Эта функция была добавлена в Qt 5.1.

См. также setLocalCertificateChain() и localCertificate().

QByteArray QSslConfiguration::nextNegotiatedProtocol() const

Эта функция возвращает протокол, согласованный с сервером, если расширение TLS Next Protocol Negotiation (NPN) или Application-Layer Protocol Negotiation (ALPN) было включено. Для включения расширения NPN/ALPN необходимо явно вызвать setAllowedNextProtocols() перед подключением к серверу.

Если протокол не удалось согласовать или расширение не было включено, эта функция возвращает QByteArray, равный null.

Эта функция была добавлена в Qt 5.3.

См. также setAllowedNextProtocols() и nextProtocolNegotiationStatus().

QSslConfiguration::NextProtocolNegotiationStatus QSslConfiguration::nextProtocolNegotiationStatus() const

Эта функция возвращает статус Next Protocol Negotiation (NPN) или Application-Layer Protocol Negotiation (ALPN). Если функция не была включена с помощью setAllowedNextProtocols(), эта функция возвращает NextProtocolNegotiationNone. Статус будет установлен перед выводом сигнала encrypted().

Эта функция была добавлена в Qt 5.3.

См. также setAllowedNextProtocols(), allowedNextProtocols(), nextNegotiatedProtocol() и QSslConfiguration::NextProtocolNegotiationStatus.

QSslCertificate QSslConfiguration::peerCertificate() const

Возвращает цифровой сертификат партнера (т. е. непосредственный сертификат хоста, к которому вы подключены), или нулевой сертификат, если партнер не предоставил сертификат.

Сертификат партнера проверяется автоматически во время фазы рукопожатия, поэтому эта функция обычно используется для извлечения сертификата для отображения или диагностики соединения. Он содержит информацию о партнере, включая его имя хоста, издателя сертификата и открытый ключ партнера.

Поскольку сертификат партнера устанавливается во время фазы рукопожатия, доступ к сертификату партнера безопасен из слота, подключенного к сигналу QSslSocket::sslErrors(), QNetworkReply::sslErrors() или сигналу QSslSocket::encrypted().

Возвращение нулевого сертификата может означать, что SSL-рукопожатие завершилось неудачно, или что хост, к которому вы подключены, не имеет сертификата, или что соединения нет.

Если вы хотите проверить полную цепочку сертификатов партнера, используйте peerCertificateChain(), чтобы получить их все сразу.

См. также peerCertificateChain(), QSslSocket::sslErrors(), QSslSocket::ignoreSslErrors(), QNetworkReply::sslErrors() и QNetworkReply::ignoreSslErrors().

QList<QSslCertificate> QSslConfiguration::peerCertificateChain() const

Возвращает цепочку цифровых сертификатов партнера, начиная с непосредственного сертификата партнера и заканчивая сертификатом CA.

Сертификаты партнера проверяются автоматически во время фазы рукопожатия. Эта функция обычно используется для извлечения сертификатов для отображения или диагностики соединения. Сертификаты содержат информацию о партнере и издателях сертификатов, включая имя хоста, имена издателей и открытые ключи издателей.

Поскольку сертификат партнера устанавливается во время фазы рукопожатия, доступ к сертификату партнера безопасен из слота, подключенного к сигналу QSslSocket::sslErrors(), QNetworkReply::sslErrors() или сигналу QSslSocket::encrypted().

Возвращение пустого списка может означать, что SSL-рукопожатие завершилось неудачно, или что хост, к которому вы подключены, не имеет сертификата, или что соединения нет.

Если вам нужен только непосредственный сертификат партнера, используйте peerCertificate().

См. также peerCertificate(), QSslSocket::sslErrors(), QSslSocket::ignoreSslErrors(), QNetworkReply::sslErrors() и QNetworkReply::ignoreSslErrors().

int QSslConfiguration::peerVerifyDepth() const

Возвращает максимальное количество сертификатов в цепочке сертификатов партнера, которые будут проверены во время фазы SSL-рукопожатия, или 0 (значение по умолчанию), если максимальная глубина не была установлена, что указывает на проверку всей цепочки сертификатов.

Сертификаты проверяются в порядке выдачи, начиная с сертификата самого партнера, затем сертификата его издателя и так далее.

См. также setPeerVerifyDepth() и peerVerifyMode().

QSslSocket::PeerVerifyMode QSslConfiguration::peerVerifyMode() const

Возвращает режим проверки. Этот режим определяет, должен ли QSslSocket запрашивать сертификат от узла (т.е., клиент запрашивает сертификат у сервера или сервер запрашивает сертификат у клиента), и должен ли он требовать, чтобы этот сертификат был действительным.

По умолчанию используется режим AutoVerifyPeer, который указывает QSslSocket использовать VerifyPeer для клиентов и QueryPeer для серверов.

См. также setPeerVerifyMode().

QByteArray QSslConfiguration::preSharedKeyIdentityHint() const

Возвращает идентификационную подсказку.

Эта функция была добавлена в Qt 5.8.

См. также setPreSharedKeyIdentityHint().

QSslKey QSslConfiguration::privateKey() const

Возвращает SSL-ключ, назначенный этому соединению, или нулевой ключ, если ключ ещё не назначен.

См. также setPrivateKey() и localCertificate().

QSsl::SslProtocol QSslConfiguration::protocol() const

Возвращает настройку протокола для этой SSL-конфигурации.

См. также setProtocol().

QSslCipher QSslConfiguration::sessionCipher() const

Возвращает криптографическое шифрование сокета или нулевое шифрование, если соединение не зашифровано. Шифрование сокета для сеанса устанавливается во время фазы рукопожатия. Шифрование используется для шифрования и дешифрования данных, передаваемых через сокет.

Инфраструктура SSL также предоставляет функции для установки упорядоченного списка шифров, из которого фаза рукопожатия в конечном итоге выберет шифрование сеанса. Этот упорядоченный список должен быть установлен перед началом фазы рукопожатия.

См. также ciphers(), setCiphers() и QSslSocket::supportedCiphers().

QSsl::SslProtocol QSslConfiguration::sessionProtocol() const

Возвращает протокол SSL/TLS сокета или UnknownProtocol, если соединение не зашифровано. Протокол сокета для сеанса устанавливается во время фазы рукопожатия.

Эта функция была добавлена в Qt 5.4.

См. также protocol() и setProtocol().

QByteArray QSslConfiguration::sessionTicket() const

Если QSsl::SslOptionDisableSessionPersistence выключен, эта функция возвращает билет сеанса, используемый в SSL-рукопожатии в формате ASN.1, который подходит для сохранения на диске. Если билет сеанса не использовался или QSsl::SslOptionDisableSessionPersistence не был отключен, эта функция возвращает пустой QByteArray.

Примечание: При сохранении билета сеанса на диск или подобные устройства будьте осторожны, чтобы не раскрыть сеанс потенциальному злоумышленнику, так как знание сеанса позволяет перехватывать данные, зашифрованные параметрами сеанса.

Эта функция была добавлена в Qt 5.2.

См. также setSessionTicket(), QSsl::SslOptionDisableSessionPersistence и setSslOption().

int QSslConfiguration::sessionTicketLifeTimeHint() const

Если QSsl::SslOptionDisableSessionPersistence выключен, эта функция возвращает подсказку о времени жизни билета сеанса, отправленную сервером (которая может быть 0). Если сервер не отправил билет сеанса (например, при возобновлении сеанса или когда сервер его не поддерживает) или QSsl::SslOptionDisableSessionPersistence не был отключен, эта функция возвращает -1.

Эта функция была добавлена в Qt 5.2.

См. также sessionTicket(), QSsl::SslOptionDisableSessionPersistence и setSslOption().

void QSslConfiguration::setAllowedNextProtocols(QList<QByteArray> protocols)

Эта функция устанавливает разрешенные протоколы для переговоров с сервером через расширение TLS Next Protocol Negotiation (NPN) или Application-Layer Protocol Negotiation (ALPN); каждый элемент в protocols должен определять один разрешенный протокол. Функция должна вызываться явно перед подключением для отправки расширения NPN/ALPN в SSL-рукопожатии. Можно проверить успех переговоров с помощью nextProtocolNegotiationStatus().

Эта функция была добавлена в Qt 5.3.

См. также nextNegotiatedProtocol(), nextProtocolNegotiationStatus(), allowedNextProtocols(), QSslConfiguration::NextProtocolSpdy3_0 и QSslConfiguration::NextProtocolHttp1_1.

void QSslConfiguration::setBackendConfiguration(const QMap<QByteArray, QVariant> &backendConfiguration = ...)

Устанавливает или очищает конфигурацию, специфичную для бэкенда.

Без параметра backendConfiguration эта функция очистит конфигурацию, специфичную для бэкенда. Более подробную информацию о поддерживаемых вариантах можно найти в документации к setBackendConfigurationOption().

Эта функция была добавлена в Qt 5.11.

См. также backendConfiguration() и setBackendConfigurationOption().

void QSslConfiguration::setBackendConfigurationOption(const QByteArray &name, const QVariant &value)

Устанавливает параметр name в конфигурации, специфичной для бэкенда, на значение value.

Параметры, поддерживаемые бэкендом OpenSSL (>= 1.0.2), доступны в документации поддерживаемых команд файла конфигурации. Ожидаемый тип для параметра value — QByteArray для всех параметров. Примеры показывают, как использовать некоторые параметры.

Примечание: Конфигурация, специфичная для бэкенда, будет применена после общей конфигурации. Использование конфигурации, специфичной для бэкенда, для повторной установки общего параметра конфигурации перезапишет общий параметр конфигурации.

Эта функция была добавлена в Qt 5.11.

См. также backendConfiguration() и setBackendConfiguration().

void QSslConfiguration::setCaCertificates(const QList<QSslCertificate> &certificates)

Устанавливает базу данных сертификатов CA этого сокета на certificates. База данных сертификатов должна быть установлена до SSL-рукопожатия. База данных сертификатов CA используется сокетом во время фазы рукопожатия для проверки сертификата узла.

Примечание: По умолчанию используется системная база данных сертификатов CA. Если она недоступна (как это часто бывает на iOS), база данных по умолчанию пуста.

См. также caCertificates().

void QSslConfiguration::setCiphers(const QList<QSslCipher> &ciphers)

Устанавливает набор криптографических шифров для этого сокета на ciphers, который должен содержать подмножество шифров в списке, возвращаемом supportedCiphers().

Ограничение набора шифров должно выполняться до фазы рукопожатия, где выбирается шифрование сеанса.

См. также ciphers() и QSslSocket::supportedCiphers().

void QSslConfiguration::setDefaultConfiguration(const QSslConfiguration &configuration)

Устанавливает конфигурацию SSL по умолчанию, которая будет использоваться в новых SSL-соединениях, в качестве configuration. Существующие соединения не затронуты этим вызовом.

См. также QSslSocket::supportedCiphers() и defaultConfiguration().

void QSslConfiguration::setDefaultDtlsConfiguration(const QSslConfiguration &configuration)

Устанавливает конфигурацию DTLS по умолчанию, которая будет использоваться в новых DTLS-соединениях, в качестве configuration. Существующие соединения не затронуты этим вызовом.

См. также defaultDtlsConfiguration().

END_OF_DOCUMENT_MARKER

void QSslConfiguration::setDiffieHellmanParameters(const QSslDiffieHellmanParameters &dhparams)

Устанавливает настраиваемый набор параметров Диффи-Хеллмана, используемых этим сокетом при работе в качестве сервера, равным dhparams.

Если параметры Диффи-Хеллмана не заданы, объект QSslConfiguration по умолчанию использует 1024-битовую группу MODP из RFC 2409.

Эта функция была добавлена в Qt 5.8.

См. также diffieHellmanParameters().

void QSslConfiguration::setDtlsCookieVerificationEnabled(bool enable)

Эта функция включает проверку куки DTLS, когда enable равно true.

См. также dtlsCookieVerificationEnabled().

void QSslConfiguration::setEllipticCurves(const QVector<QSslEllipticCurve> &curves)

Устанавливает список эллиптических кривых, которые будут использоваться этим сокетом, равным curves, который должен содержать подмножество кривых в списке, возвращаемом supportedEllipticCurves().

Ограничение эллиптических кривых должно выполняться до фазы рукопожатия, где выбирается шифр сессии.

Эта функция была добавлена в Qt 5.5.

См. также ellipticCurves.

void QSslConfiguration::setLocalCertificate(const QSslCertificate &certificate)

Устанавливает сертификат, который будет представлен узлу-партнеру во время фазы рукопожатия SSL, равным certificate.

Установка сертификата после установления соединения не оказывает никакого эффекта.

Сертификат — это средство идентификации, используемое в процессе SSL. Локальный сертификат используется удалённым узлом для проверки личности локального пользователя по его списку удостоверяющих центров. В большинстве случаев, таких как в веб-браузинге HTTP, только серверы идентифицируются клиентам, поэтому клиент не отправляет сертификат.

См. также localCertificate().

void QSslConfiguration::setLocalCertificateChain(const QList<QSslCertificate> &localChain)

Устанавливает цепочку сертификатов, которая будет представлена узлу-партнеру во время фазы рукопожатия SSL, равной localChain.

Установка цепочки сертификатов после установления соединения не оказывает никакого эффекта.

Сертификат — это средство идентификации, используемое в процессе SSL. Локальный сертификат используется удалённым узлом для проверки личности локального пользователя по его списку удостоверяющих центров. В большинстве случаев, таких как в веб-браузинге HTTP, только серверы идентифицируются клиентам, поэтому клиент не отправляет сертификат.

В отличие от QSslConfiguration::setLocalCertificate() этот метод позволяет указать любые промежуточные сертификаты, необходимые для проверки вашего сертификата. Первый элемент в списке должен быть листом сертификата.

Эта функция была добавлена в Qt 5.1.

См. также localCertificateChain().

void QSslConfiguration::setPeerVerifyDepth(int depth)

Устанавливает максимальное количество сертификатов в цепочке сертификатов узла-партнёра, которые будут проверены во время фазы рукопожатия SSL, равным depth. Установка глубины 0 означает, что максимальная глубина не установлена, что указывает на необходимость проверки всей цепочки сертификатов.

Сертификаты проверяются в порядке выдачи, начиная с собственного сертификата узла-партнёра, затем сертификата его издателя и так далее.

См. также peerVerifyDepth() и setPeerVerifyMode().

void QSslConfiguration::setPeerVerifyMode(QSslSocket::PeerVerifyMode mode)

Устанавливает режим проверки равным mode. Этот режим определяет, должен ли QSslSocket запрашивать сертификат у узла-партнёра (т.е., клиент запрашивает сертификат у сервера или сервер запрашивает сертификат у клиента) и нужно ли ему требовать, чтобы этот сертификат был действительным.

Режим по умолчанию — AutoVerifyPeer, который сообщает QSslSocket использовать VerifyPeer для клиентов и QueryPeer для серверов.

См. также peerVerifyMode().

void QSslConfiguration::setPreSharedKeyIdentityHint(const QByteArray &hint)

Устанавливает подсказку идентификатора для аутентификации предварительно установленного ключа равной hint. Это повлияет на следующее начатое рукопожатие; вызов этой функции на уже зашифрованном сокете не повлияет на подсказку идентификатора сокета.

Подсказка идентификатора используется только в QSslSocket::SslServerMode!

Эта функция была добавлена в Qt 5.8.

См. также preSharedKeyIdentityHint().

void QSslConfiguration::setPrivateKey(const QSslKey &key)

Устанавливает закрытый ключ соединения равным key. Закрытый ключ и локальный сертификат используются клиентами и серверами, которые должны доказать свою личность узлам-партнёрам SSL.

И ключ, и локальный сертификат требуются, если вы создаёте сокет SSL-сервера. Если вы создаёте сокет SSL-клиента, ключ и локальный сертификат необходимы, если ваш клиент должен идентифицировать себя SSL-серверу.

См. также privateKey() и setLocalCertificate().

void QSslConfiguration::setProtocol(QSsl::SslProtocol protocol)

Устанавливает параметр протокола для этой конфигурации равным protocol.

Установка протокола после того, как соединение уже было установлено, не оказывает никакого эффекта.

См. также protocol().

void QSslConfiguration::setSessionTicket(const QByteArray &sessionTicket)

Устанавливает билет сессии, который будет использоваться в рукопожатии SSL. QSsl::SslOptionDisableSessionPersistence должен быть выключен для работы этого, и sessionTicket должен быть в формате ASN.1, как возвращается sessionTicket().

Эта функция была добавлена в Qt 5.2.

См. также sessionTicket(), QSsl::SslOptionDisableSessionPersistence и setSslOption().

void QSslConfiguration::setSslOption(QSsl::SslOption option, bool on)

Включает или выключает параметр совместимости SSL. Если on равно true, параметр option включён. Если on равно false, параметр option выключен.

См. также testSslOption().

QList<QSslCipher> QSslConfiguration::supportedCiphers()

Возвращает список криптографических шифров, поддерживаемых этой системой. Этот список задаётся системными библиотеками SSL и может отличаться в зависимости от системы.

Эта функция была добавлена в Qt 5.5.

См. также ciphers() и setCiphers().

QVector<QSslEllipticCurve> QSslConfiguration::supportedEllipticCurves()

Возвращает список эллиптических кривых, поддерживаемых этой системой. Этот список задаётся системными библиотеками SSL и может отличаться в зависимости от системы.

Эта функция была добавлена в Qt 5.5.

См. также ellipticCurves() и setEllipticCurves().

void QSslConfiguration::swap(QSslConfiguration &other)

Меняет местами этот экземпляр конфигурации SSL с other. Эта функция очень быстрая и никогда не терпит неудачу.

Эта функция была добавлена в Qt 5.0.

QList<QSslCertificate> QSslConfiguration::systemCaCertificates()

Эта функция предоставляет базу данных сертификатов УЦ, предоставленных операционной системой. База данных сертификатов УЦ, возвращаемая этой функцией, используется для инициализации базы данных, возвращаемой caCertificates() в стандартной QSslConfiguration.

Эта функция была добавлена в Qt 5.5.

См. также caCertificates(), setCaCertificates() и defaultConfiguration().

bool QSslConfiguration::testSslOption(QSsl::SslOption option) const

Возвращает true, если указанный параметр совместимости SSL включён.

Эта функция была добавлена в Qt 4.8.

См. также setSslOption().

bool QSslConfiguration::operator!=(const QSslConfiguration &other) const

Возвращает true если этот QSslConfiguration отличается от other. Два объекта QSslConfiguration считаются различными, если любой параметр или состояние отличается.

См. также operator==().

QSslConfiguration &QSslConfiguration::operator=(QSslConfiguration &&other)

Оператор перемещающего присваивания.

QSslConfiguration &QSslConfiguration::operator=(const QSslConfiguration &other)

Копирует конфигурацию и состояние other. Если other равно null, этот объект также будет null.

bool QSslConfiguration::operator==(const QSslConfiguration &other) const

Возвращает true если этот объект QSslConfiguration равен other.

Два объекта QSslConfiguration считаются равными, если они имеют точно такие же настройки и состояние.

См. также operator!=().

Документация переменных-членов

const char [] QSslConfiguration::NextProtocolHttp1_1

Эта переменная хранит значение, используемое для переговоров HTTP 1.1 во время переговоров по следующему протоколу.

const char [] QSslConfiguration::NextProtocolSpdy3_0

Эта переменная хранит значение, используемое для переговоров SPDY 3.0 во время переговоров по следующему протоколу.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qsslconfiguration.html

Spec-Zone.ru

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