Spec-Zone.ru › Qt 5.11

Класс QSslConfiguration

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

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

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

Типы публичного доступа

перечисление 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
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 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 [] NextProtocolHttp1_1
const char [] NextProtocolSpdy3_0
QSslConfiguration defaultConfiguration()
void setDefaultConfiguration(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 равно null, этот объект тоже будет null.

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

Возвращает базу данных сертификатов Удостоверяющих центров этого соединения. База данных сертификатов Удостоверяющих центров используется сокетом во время фазы рукопожатия для проверки сертификата клиента. Она может быть изменена до рукопожатия с помощью setCaCertificates(), или с помощью QSslSocket’s 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
  • список сертификатов Удостоверяющих центров по умолчанию системы
  • список шифров равный списку SSL шифров, поддерживаемых SSL библиотеками системы, которые имеют 128 бит или более

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

QSslDiffieHellmanParameters QSslConfiguration::diffieHellmanParameters() const

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

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

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

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

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 со значением NULL.

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

См. также 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 для следующего протокола (NPN) или протокола прикладного уровня (ALPN) было включено. Для включения расширения NPN/ALPN необходимо явно вызвать setAllowedNextProtocols() перед подключением к серверу.

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

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

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

QSslConfiguration::NextProtocolNegotiationStatus QSslConfiguration::nextProtocolNegotiationStatus() const

Эта функция возвращает состояние следующего протокола (NPN) или протокола прикладного уровня (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

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

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

Поскольку сертификат партнёра устанавливается во время процесса установления соединения, доступ к сертификату партнёра безопасен из слота, подключённого к сигналу 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

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

Инфраструктура 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)

Эта функция устанавливает разрешённые protocols для согласования с сервером через расширение TLS NPN (Next Protocol Negotiation) или ALPN (Application-Layer Protocol Negotiation); каждый элемент в 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 используется сокетом во время фазы рукопожатия для проверки сертификата стороны.

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

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

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

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

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

[static] void QSslConfiguration::setDefaultConfiguration(const QSslConfiguration &configuration)

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

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

void QSslConfiguration::setDiffieHellmanParameters(const QSslDiffieHellmanParameters &dhparams)

Устанавливает настраиваемый набор параметров Diffie-Hellman, которые будут использоваться этим сокетом при работе в качестве сервера на dhparams.

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

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

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

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()

Данная функция предоставляет базу данных сертификатов CA, предоставленную операционной системой. База данных сертификатов CA, возвращаемая этой функцией, используется для инициализации базы данных, возвращаемой функцией 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 пуста, этот объект также будет пустым.

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/archives/qt-5.11/qsslconfiguration.html

Spec-Zone.ru

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