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

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

Классы

class HostPort

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

enum Result { Success , Error , Params , AuthCheck , Continue }

Сигналы

void resultsReady ()

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

virtual SASL::AuthCondition authCondition () const =0
virtual QString authzid () const =0
virtual SASL::Params clientParams () const =0
virtual int encoded () const =0
virtual bool haveClientInit () const =0
virtual QString mech () const =0
virtual QStringList mechlist () const =0
virtual void nextStep (const QByteArray &from_net)=0
virtual QStringList realmlist () const =0
virtual void reset ()=0
virtual Result result () const =0
SASLContext (Provider *p)
virtual void serverFirstStep (const QString &mech, const QByteArray *clientInit)=0
virtual void setClientParams (const QString *user, const QString *authzid, const SecureArray *pass, const QString *realm)=0
virtual void setConstraints (SASL::AuthFlags f, int minSSF, int maxSSF)=0
virtual void setup (const QString &service, const QString &host, const HostPort *local, const HostPort *remote, const QString &ext_id, int ext_ssf)=0
virtual int ssf () const =0
virtual void startClient (const QStringList &mechlist, bool allowClientSendFirst)=0
virtual void startServer (const QString &realm, bool disableServerSendLast)=0
virtual QByteArray stepData () const =0
virtual QByteArray to_app ()=0
virtual QByteArray to_app ()=0
virtual void tryAgain ()=0
virtual void unprocessed ()=0
virtual QString username () const =0
virtual bool waitForResultsReady (int msecs)=0

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

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

Примечание.

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

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

Result

enum QCA::SASLContext::Result

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

Success Операция завершена
Error Операция провалена
Params Для завершения аутентификации необходимы параметры
AuthCheck Можно проверить логин клиента (только для сервера)
Continue Для завершения аутентификации необходимы дополнительные шаги

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

SASLContext()

QCA::SASLContext::SASLContext (Provider * p) inline

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

Параметры

p Объект Provider, связанный с этим контекстом

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

reset()

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

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

setup()

virtual void QCA::SASLContext::setup (const QString & service, const QString & host, const HostPort * local, const HostPort * remote, const QString & ext_id, int ext_ssf ) pure virtual

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

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

Параметры

service Имя сетевой службы, предоставляемой этим приложением, которая может использоваться системой SASL для управления политиками. Примеры: "imap", "xmpp"
host Имя хоста, с которым приложение взаимодействует или которое использует
local Указатель на HostPort, представляющий локальный конец сетевого сокета, или 0, если эта информация неизвестна или недоступна
remote Указатель на HostPort, представляющий одноранговый узел сетевого сокета, или 0, если эта информация неизвестна или недоступна
ext_id Идентификатор, который будет использоваться для SASL EXTERNAL (только для клиента)
ext_ssf SSF внешнего канала аутентификации (только для клиента)

setConstraints()

virtual void QCA::SASLContext::setConstraints (SASL::AuthFlags f, int minSSF, int maxSSF ) pure virtual

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

Этот метод будет вызываться перед startClient() или startServer().

Параметры

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

startClient()

virtual void QCA::SASLContext::startClient (const QStringList & mechlist, bool allowClientSendFirst ) pure virtual

Начинает сеанс в клиентском режиме с аутентификации.

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

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

Параметры

mechlist Список механизмов
allowClientSendFirst Отправляет ли первое сообщение клиент (true) или сервер (false)

startServer()

virtual void QCA::SASLContext::startServer (const QString & realm, bool disableServerSendLast ) pure virtual

Начинает сеанс в серверном режиме с аутентификации.

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

По завершении будут действительны result() и mechlist(). Функция result() вернёт Success или Error. Если результат — Success, то следующим будет вызван serverFirstStep().

Параметры

realm Область для аутентификации
disableServerSendLast Отправляет ли первое сообщение клиент (true) или сервер (false)

serverFirstStep()

virtual void QCA::SASLContext::serverFirstStep (const QString & mech, const QByteArray * clientInit ) pure virtual

Завершает запуск сервера.

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

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

Параметры

mech Механизм для использования
clientInit Исходные данные от клиента, или 0, если таких данных нет

nextStep()

virtual void QCA::SASLContext::nextStep (const QByteArray & from_net) pure virtual

Выполняет еще один шаг аутентификации SASL.

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

По завершении будут действительны result() и stepData().

Параметры

from_net Данные с «другой стороны» протокола, которые будут использоваться для следующего шага

tryAgain()

virtual void QCA::SASLContext::tryAgain () pure virtual

Повторяет попытку последней операции.

Метод используется, если результатом операции, полученным с помощью result(), является Params или AuthCheck.

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

По завершении будут действительны result() и stepData().

update()

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

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

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

По завершении будут действительны result(), to_net(), encoded() и to_app(). Функция result() вернёт Success или Error.

Параметры

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

waitForResultsReady()

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

Ждёт завершения операции startClient(), startServer(), serverFirstStep(), nextStep(), tryAgain() или update().

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

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

Параметры

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

result()

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

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

mechlist()

virtual QStringList QCA::SASLContext::mechlist () const pure virtual

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

mech()

virtual QString QCA::SASLContext::mech () const pure virtual

Возвращает выбранный механизм.

haveClientInit()

virtual bool QCA::SASLContext::haveClientInit () const pure virtual

Возвращает true, если у клиента имеются данные для инициализации.

stepData()

virtual QByteArray QCA::SASLContext::stepData () const pure virtual

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

to_net()

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

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

encoded()

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

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

to_app()

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

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

ssf()

virtual int QCA::SASLContext::ssf () const pure virtual

Возвращает SSF активного сеанса SASL.

Эта функциональность действительна только после успешной аутентификации.

authCondition()

virtual SASL::AuthCondition QCA::SASLContext::authCondition () const pure virtual

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

Эта функциональность действительна только после неудачной аутентификации.

clientParams()

virtual SASL::Params QCA::SASLContext::clientParams () const pure virtual

Возвращает необходимые/необязательные параметры клиента.

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

setClientParams()

virtual void QCA::SASLContext::setClientParams (const QString * user, const QString * authzid, const SecureArray * pass, const QString * realm ) pure virtual

Устанавливает некоторые параметры клиента (нужно ввести 0, чтобы не устанавливать поле).

Параметры

user Имя пользователя
authzid Имя/роль авторизации
pass Пароль
realm Область для аутентификации

realmlist()

virtual QStringList QCA::SASLContext::realmlist () const pure virtual

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

Результат действителен только после получения кода результата Params, и когда SASL::Params::canSendRealm равно true.

username()

virtual QString QCA::SASLContext::username () const pure virtual

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

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

authzid()

virtual QString QCA::SASLContext::authzid () const pure virtual

Возвращает authzid пользователя, пытающегося авторизоваться (только в режиме сервера).

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

resultsReady

void QCA::SASLContext::resultsReady () signal

Сигнал испускается, когда операция startClient(), startServer(), serverFirstStep(), nextStep(), tryAgain() или update() завершилась.

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

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