Класс 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 |
| 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 |
| 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 | 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().
Документация по типам членов
перечисление 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.
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 (будут использованы либо TLS 1.0, либо SSL 3)
- стандартный список сертификатов Удостоверяющих центров системы
- список шифров, равный списку шифров 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 Next Protocol Negotiation (NPN) или Application-Layer Protocol Negotiation (ALPN) было включено. Для включения расширения NPN/ALPN необходимо явно вызвать setAllowedNextProtocols() перед подключением к серверу.
Если протокол не удалось согласовать или расширение не было включено, эта функция возвращает QByteArray, значение которого равно null.
Эта функция была добавлена в Qt 5.3.
См. также setAllowedNextProtocols() и nextProtocolNegotiationStatus().
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
Возвращает криптографический шифр сокета, или null-шифр, если соединение не зашифровано. Шифр сеанса сокета устанавливается во время фазы рукопожатия. Шифр используется для шифрования и дешифрования данных, передаваемых через сокет.
Инфраструктура SSL также предоставляет функции для установки упорядоченного списка шифров, из которых фаза рукопожатия в конечном итоге выберет шифр сеанса. Этот упорядоченный список должен быть создан до начала фазы рукопожатия.
См. также ciphers(), setCiphers() и QSslSocket::supportedCiphers().
END_OF_DOCUMENT_MARKERQSsl::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 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::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 по умолчанию использует 1024-битовую группу MODP из 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().
END_OF_DOCUMENT_MARKERvoid 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 option. Если on равно true, option включается. Если on равно false, option отключается.
См. также testSslOption().
[static] QList<QSslCipher> QSslConfiguration::supportedCiphers()
Возвращает список криптографических шифров, поддерживаемых этой системой. Этот список задаётся SSL-библиотеками системы и может различаться в зависимости от системы.
Эта функция была добавлена в Qt 5.5.
См. также ciphers() и setCiphers().
[static] QVector<QSslEllipticCurve> QSslConfiguration::supportedEllipticCurves()
Возвращает список эллиптических кривых, поддерживаемых этой системой. Этот список задаётся SSL-библиотеками системы и может различаться в зависимости от системы.
Эта функция была добавлена в Qt 5.5.
См. также ellipticCurves() и setEllipticCurves().
void QSslConfiguration::swap(QSslConfiguration &other)
Меняет местами экземпляр этой конфигурации SSL с other. Эта функция очень быстрая и никогда не терпит неудачу.
Эта функция была добавлена в Qt 5.0.
[static] QList<QSslCertificate> QSslConfiguration::systemCaCertificates()
Эта функция предоставляет базу данных сертификатов CA, предоставленную операционной системой. База данных сертификатов CA, возвращаемая этой функцией, используется для инициализации базы данных, возвращаемой функцией caCertificates() для по умолчанию QSslConfiguration.
Эта функция была добавлена в Qt 5.5.
См. также caCertificates(), setCaCertificates() и defaultConfiguration().
bool QSslConfiguration::testSslOption(QSsl::SslOption option) const
Возвращает true если указанный параметр совместимости SSL option включён.
Эта функция была добавлена в 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/qt-5.9/qsslconfiguration.html