Документация
ОС Аврора 5.0.1

Класс TLSContext(абстрактный)

Классы

class SessionInfo

Публичные типы

enum Result { Success , Error , Continue }

Сигналы

void dtlsTimeout ()
void resultsReady ()

Публичные функции

virtual bool canCompress () const =0
virtual bool canSetHostName () const =0
virtual bool certificateRequested () const =0
virtual bool clientHelloReceived () const =0
virtual int encoded () const =0
virtual bool eof () const =0
virtual QString hostName () const =0
virtual QList<CertificateInfoOrdered> issuerList () const =0
virtual int maxSSF () const =0
virtual CertificateChain peerCertificateChain () const =0
virtual Validity peerCertificateValidity () const =0
virtual void reset ()=0
virtual Result result () const =0
virtual bool serverHelloReceived () const =0
virtual SessionInfo sessionInfo () const =0
virtual void setCertificate (const CertificateChain &cert, const PrivateKey &key)=0
virtual void setConstraints (const QStringList &cipherSuiteList)=0
virtual void setConstraints (int minSSF, int maxSSF)=0
virtual void setIssuerList (const QList<CertificateInfoOrdered> &issuerList)=0
virtual void setMTU (int size)
virtual void setSessionId (const TLSSessionContext &id)=0
virtual void setTrustedCertificates (const CertificateCollection &trusted)=0
virtual void setup (bool serverMode, const QString &hostName, bool compress)=0
virtual void shutdown ()=0
virtual void start ()=0
virtual QStringList supportedCipherSuites (const TLS::Version &version) const =0
TLSContext (Provider *p, const QString &type)
virtual QByteArray to_app ()=0
virtual QByteArray to_app ()=0
virtual QByteArray to_net ()=0
virtual void unprocessed ()=0
virtual bool waitForResultsReady (int msecs)=0

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

Криптопровайдер TLS.

Примечание.

Этот класс является частью интерфейса подключаемого модуля криптопровайдера и не должен использоваться приложениями напрямую. Возможно стоит использовать TLS вместо него.

Описание перечислений

Result

enum QCA::TLSContext::Result

Результат операции TLS.

Success Операция завершена
Error Операция провалена
Continue Для завершения операции требуется больше данных

Описание конструкторов и деструктора

TLSContext()

QCA::TLSContext::TLSContext (Provider * p, const QString & type ) inline

Стандартный конструктор.

Параметры

p Объект Provider, связанный с этим контекстом
type Название типа функциональности, которая поддерживается этим контекстом

Описание методов

reset()

virtual void QCA::TLSContext::reset () pure virtual

Сбрасывает объект в исходное состояние.

supportedCipherSuites()

virtual QStringList QCA::TLSContext::supportedCipherSuites (const TLS::Version & version) const pure virtual

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

Наборы шифров указываются в виде строк, например: «TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA» (без кавычек).

Параметры

version Версия TLS для поиска

canCompress()

virtual bool QCA::TLSContext::canCompress () const pure virtual

Возвращает true, если криптопровайдер поддерживает сжатие.

canSetHostName()

virtual bool QCA::TLSContext::canSetHostName () const pure virtual

Возвращает true, если криптопровайдер поддерживает указание имени сервера.

maxSSF()

virtual int QCA::TLSContext::maxSSF () const pure virtual

Возвращает максимальный SSF, поддерживаемый этим криптопровайдером.

setup()

virtual void QCA::TLSContext::setup (bool serverMode, const QString & hostName, bool compress ) pure virtual

Настраивает новый сеанс.

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

Параметры

serverMode Работает как сервер (true) или как клиент (false)
hostName Имя хоста для использования
compress Следует ли сжимать (true) или нет (false)

setConstraints() [1/2]

virtual void QCA::TLSContext::setConstraints (int minSSF, int maxSSF ) pure virtual

Устанавливает ограничения сеанса, используя значения SSF.

Эта функция будет вызываться перед start().

Параметры

minSSF Минимальный допустимый коэффициент прочности
maxSSF Максимальный допустимый коэффициент прочности

setConstraints() [2/2]

virtual void QCA::TLSContext::setConstraints (const QStringList & cipherSuiteList) pure virtual

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

Эта функция будет вызываться перед start().

Параметры

cipherSuiteList Список комплектов шифров, которые могут использоваться для этого сеанса

См. также supportedCipherSuites

setTrustedCertificates()

virtual void QCA::TLSContext::setTrustedCertificates (const CertificateCollection & trusted) pure virtual

Устанавливает список доверенных сертификатов.

Эта функция может быть вызвана в любое время.

Параметры

trusted Используемые доверенные сертификаты и CRL

setIssuerList()

virtual void QCA::TLSContext::setIssuerList (const QList<CertificateInfoOrdered> & issuerList) pure virtual

Устанавливает список допустимых издателей.

Эта функция может быть вызвана в любое время.

Эта функция предназначена только для режима сервера.

Параметры

issuerList Список издателей, которые могут быть использованы

setCertificate()

virtual void QCA::TLSContext::setCertificate (const CertificateChain & cert, const PrivateKey & key ) pure virtual

Устанавливает локальный сертификат.

Эта функция может быть вызвана в любое время.

Параметры

cert Сертификат и связанная с ним цепочка доверия
key Закрытый ключ для локального сертификата

setSessionId()

virtual void QCA::TLSContext::setSessionId (const TLSSessionContext & id) pure virtual

Устанавливает идентификатор сеанса TLS для возобновления сеанса.

Эта функция будет вызываться перед start().

Параметры

id Идентификатор сеанса

shutdown()

virtual void QCA::TLSContext::shutdown () pure virtual

Устанавливает сеанс в состояние выключения.

Фактическое завершение работы произойдёт при следующем вызове update().

Эта функция предназначена только для обычного TLS (не для DTLS).

setMTU()

virtual void QCA::TLSContext::setMTU (int size) virtual

Устанавливает максимальный размер блока передачи.

Эта функция предназначена только для DTLS.

Параметры

size Максимальное количество байтов в датаграмме

start()

virtual void QCA::TLSContext::start () pure virtual

Начинает сеанс с «рукопожатия».

Эта функция немедленно возвращается, и о завершении сигнализирует resultsReady().

По завершении функция result() вернёт Success, если сеанс TLS может начаться, или Error, если не удалось инициализировать подсистему TLS. В случае успеха сеанс теперь находится в состоянии рукопожатия, и update() будет вызываться повторно, пока сеанс не завершится.

update()

virtual void QCA::TLSContext::update (const QByteArray & from_net, const QByteArray & from_net,) pure virtual

Выполняет одну итерацию обработки сеанса TLS.

Эта функция немедленно возвращается, и о завершении сигнализирует resultsReady().

Если сеанс находится в состоянии рукопожатия, будут действительны result() и to_net(). Если result() имеет значение Success, то сеанс теперь находится в подключённом состоянии.

Если сеанс находится в выключенном состоянии, будут действительны result() и to_net(). Если result() имеет значение Success, сеанс завершён.

Если сеанс находится в подключённом состоянии, действительны result(), to_net(), encoded(), to_app() и eof(). Функция result() вернёт Success или Error. Следует обратить внимание, что eof() не применяется к DTLS.

Для DTLS эта функция работает с отдельными пакетами. Многие операции update() должны выполняться повторно для обмена несколькими пакетами.

Параметры

from_net Данные с «другой стороны» соединения
from_app Данные из приложения протокола

waitForResultsReady()

virtual bool QCA::TLSContext::waitForResultsReady (int msecs) pure virtual

Ожидает операции start() или update() для завершения.

В этом случае сигнал resultsReady() не выдаётся. Возвращает true, если операция завершена, или false, если время ожидания этой функции истекло.

Эта функция блокирующая.

Параметры

msecs Количество миллисекунд ожидания (-1, чтобы ждать вечно)

result()

virtual Result QCA::TLSContext::result () const pure virtual

Возвращает код результата операции.

to_net()

virtual QByteArray QCA::TLSContext::to_net () pure virtual

Возвращает данные, которые должны быть отправлены по сети.

encoded()

virtual int QCA::TLSContext::encoded () const pure virtual

Возвращает количество байтов данных открытого текста, закодированных внутри to_net().

to_app()

virtual QByteArray QCA::TLSContext::to_app () pure virtual

Возвращает данные, которые декодируются из сети и должны обрабатываться приложением.

eof()

virtual bool QCA::TLSContext::eof () const pure virtual

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

clientHelloReceived()

virtual bool QCA::TLSContext::clientHelloReceived () const pure virtual

Возвращает true, если получено приветствие клиента TLS.

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

serverHelloReceived()

virtual bool QCA::TLSContext::serverHelloReceived () const pure virtual

Возвращает true, если получено приветствие от TLS-сервера.

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

hostName()

virtual QString QCA::TLSContext::hostName () const pure virtual

Возвращает имя хоста, отправленное клиентом с использованием имени сервера (только в режиме сервера)

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

certificateRequested()

virtual bool QCA::TLSContext::certificateRequested () const pure virtual

Возвращает true, если второй участник запрашивает сертификат.

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

issuerList()

virtual QList<CertificateInfoOrdered> QCA::TLSContext::issuerList () const pure virtual

Возвращает список издателей, отправленный сервером (только в клиентском режиме).

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

peerCertificateValidity()

virtual Validity QCA::TLSContext::peerCertificateValidity () const pure virtual

Возвращает QCA::Validity однорангового сертификата.

Результат действителен только в том случае, если рукопожатие завершено.

peerCertificateChain()

virtual CertificateChain QCA::TLSContext::peerCertificateChain () const pure virtual

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

Результат действителен только в том случае, если рукопожатие завершено.

sessionInfo()

virtual SessionInfo QCA::TLSContext::sessionInfo () const pure virtual

Возвращает информацию об активном сеансе TLS.

Результат действителен только в том случае, если рукопожатие завершено.

unprocessed()

virtual QByteArray QCA::TLSContext::unprocessed () pure virtual

Возвращает любые необработанные сетевые входные данные.

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

resultsReady

void QCA::TLSContext::resultsReady () signal

Сигнал испускается, когда операция start() или update() будет завершена.

dtlsTimeout

void QCA::TLSContext::dtlsTimeout () signal

Сигнал испускается, чтобы заставить приложение вызывать update(), даже с пустыми аргументами.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.