Класс MessageContext(абстрактный)
Публичные типы
enum | Operation { Encrypt , Decrypt , Sign , Verify , SignAndEncrypt } |
Сигналы
void | updated () |
Публичные функции
virtual bool | canSignMultiple () const =0 |
virtual QString | diagnosticText () const |
virtual void | end ()=0 |
virtual SecureMessage::Error | errorCode () const =0 |
virtual bool | finished () const =0 |
virtual QString | hashName () const =0 |
MessageContext (Provider *p, const QString &type) | |
virtual QByteArray | read ()=0 |
virtual void | reset ()=0 |
virtual void | setupEncrypt (const SecureMessageKeyList &keys)=0 |
virtual void | setupSign (const SecureMessageKeyList &keys, SecureMessage::SignMode m, bool bundleSigner, bool smime)=0 |
virtual void | setupVerify (const QByteArray &detachedSig)=0 |
virtual QByteArray | signature () const =0 |
virtual SecureMessageSignatureList | signers () const =0 |
virtual void | start (SecureMessage::Format f, Operation op)=0 |
virtual bool | success () const =0 |
virtual SecureMessage::Type | type () const =0 |
virtual void | update (const QByteArray &in)=0 |
virtual bool | waitForFinished (int msecs)=0 |
virtual int | written ()=0 |
Подробное описание
Криптопровайдер SecureMessage.
Примечание.
Этот класс является частью интерфейса подключаемого модуля криптопровайдера и не должен использоваться приложениями напрямую. Возможно стоит использовать SecureMessage вместо него.
Описание перечислений
Operation
enum QCA::MessageContext::Operation |
Тип выполняемой операции.
Encrypt | Операция шифрования |
Decrypt | Операция дешифрования (или дешифрования и верификации). |
Sign | Операция подписи |
Verify | Операция верификации. |
SignAndEncrypt | Операция подписи и шифрования. |
Описание конструкторов и деструктора
MessageContext()
QCA::MessageContext::MessageContext (Provider * p, const QString & type ) | inline |
Стандартный конструктор.
Параметры
p | Объект Provider, связанный с этим контекстом |
type | Название типа создаваемого защищённого сообщения |
Описание методов
canSignMultiple()
virtual bool QCA::MessageContext::canSignMultiple () const | pure virtual |
Возвращает true
, если криптопровайдер поддерживает несколько авторов для создания или проверки
подписи.
type()
virtual SecureMessage::Type QCA::MessageContext::type () const | pure virtual |
Тип защищённого сообщения (т.е.,
PGP
или
CMS).
reset()
virtual void QCA::MessageContext::reset () | pure virtual |
Сбрасывает объект в исходное состояние.
setupEncrypt()
virtual void QCA::MessageContext::setupEncrypt (const SecureMessageKeyList & keys) | pure virtual |
Настраивает новую операцию шифрования.
Параметры
keys | Ключи, которые будут использоваться для шифрования |
setupSign()
virtual void QCA::MessageContext::setupSign (const SecureMessageKeyList & keys, SecureMessage::SignMode m, bool bundleSigner, bool smime ) | pure virtual |
Настраивает новую операцию подписи.
Параметры
keys | Ключи, которые нужно использовать для подписи |
m | Режим входа |
bundleSigner | Следует ли связывать ключи подписи (true ) или нет (false ) |
smime | Использовать ли формат smime (true ) или нет (false ) |
setupVerify()
virtual void QCA::MessageContext::setupVerify (const QByteArray & detachedSig) | pure virtual |
Настраивает новую операцию проверки.
Параметры
detachedSig | Отсоединённая подпись для проверки (если применима) |
start()
virtual void QCA::MessageContext::start (SecureMessage::Format f, Operation op ) | pure virtual |
Начинает операцию для безопасного сообщения.
Метод немедленно возвращается.
Если есть входные данные, впоследствии будет вызываться update(). Сигнал updated() испускается, если есть данные для чтения, если входные данные были приняты или если операция завершена.
Параметры
f | Формат создаваемого сообщения |
op | Операция, которую нужно выполнить |
update()
virtual void QCA::MessageContext::update (const QByteArray & in) | pure virtual |
Обеспечивает ввод для операции сообщения.
Параметры
in | Данные, которые будут использоваться для работы с сообщениями |
read()
virtual QByteArray QCA::MessageContext::read () | pure virtual |
Извлекает вывод из операции сообщения.
written()
virtual int QCA::MessageContext::written () | pure virtual |
Возвращает количество байтов ввода, принятых с момента последнего вызова update().
end()
virtual void QCA::MessageContext::end () | pure virtual |
Обозначает конец ввода.
finished()
virtual bool QCA::MessageContext::finished () const | pure virtual |
Возвращает true
, если операция завершена, иначе false
.
waitForFinished()
virtual bool QCA::MessageContext::waitForFinished (int msecs) | pure virtual |
Ожидает завершения операции безопасного сообщения.
В этом случае сигнал
updated()
не выдаётся. Возвращает true
, если операция завершена, или false
, если время ожидания этой
функции истекло.
Эта функция блокирующая.
Параметры
msecs | Количество миллисекунд ожидания (-1 , чтобы ждать вечно) |
success()
virtual bool QCA::MessageContext::success () const | pure virtual |
Возвращает true
, если операция прошла успешно.
Результат действителен только в том случае, если операция завершена.
errorCode()
virtual SecureMessage::Error QCA::MessageContext::errorCode () const | pure virtual |
Возвращает причину сбоя, если операция не удалась.
Результат действителен только в том случае, если операция завершена.
signature()
virtual QByteArray QCA::MessageContext::signature () const | pure virtual |
Возвращает подпись в случае операции отсоединения подписи.
Результат действителен только в том случае, если операция завершена.
hashName()
virtual QString QCA::MessageContext::hashName () const | pure virtual |
Возвращает имя хеша, используемого для генерации подписи, в случае операции подписи.
Результат действителен только в том случае, если операция завершена.
signers()
virtual SecureMessageSignatureList QCA::MessageContext::signers () const | pure virtual |
Возвращает список подписей в случае операции проверки или расшифровки и проверки.
Результат действителен только в том случае, если операция завершена.
diagnosticText()
virtual QString QCA::MessageContext::diagnosticText () const | virtual |
Возвращает любой диагностический текст для операции, потенциально полезный для отображения пользователю в случае неудачной операции.
Например, это может быть стандартный вывод ошибки gpg.
Результат действителен только в том случае, если операция завершена.
updated
void QCA::MessageContext::updated () | signal |
Сигнал испускается, когда есть данные для чтения, если входные данные приняты или операция завершена.