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

Класс KeyLoader

Сигналы

void finished ()

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

ConvertResult convertResult () const
KeyBundle keyBundle () const
KeyLoader (QObject *parent=nullptr)
void loadKeyBundleFromArray (const QByteArray &a)
void loadKeyBundleFromFile (const QString &fileName)
void loadPrivateKeyFromDER (const SecureArray &a)
void loadPrivateKeyFromPEM (const QString &s)
void loadPrivateKeyFromPEMFile (const QString &fileName)
PrivateKey privateKey () const

Дружественные функции и классы

class Private

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

Асинхронный загрузчик закрытого ключа.

Приложения с графическим интерфейсом обычно должны использовать KeyLoader для загрузки закрытых ключей. Это связано с тем, что синхронные функции загрузки закрытого ключа, например QCA::PrivateKey::fromPEMFile(), не могут использоваться в том же потоке, что и EventHandler, и большинство приложений с графическим интерфейсом будут использовать EventHandler из основного потока. У KeyLoader нет этой проблемы. Его можно использовать из любого потока, включая тот же поток, что и EventHandler.

Класс KeyLoader позволяет асинхронно загружать автономные закрытые ключи (QCA::PrivateKey) или закрытые ключи с сертификатом (QCA::KeyBundle) с сигналом, который сообщает о завершении.

Чтобы использовать этот класс для загрузки PrivateKey, нужно создать объект KeyLoader, а затем использовать одну из функций loadPrivateKeyFrom…(), в зависимости от формата ключа. Эти функции возвращаются немедленно. Когда будет получен сигнал finished(), можно будет проверить, что операция загрузки прошла успешно (с помощью convertResult()), а затем получить PrivateKey с помощью функции privateKey().

Тот же процесс применяется для загрузки KeyBundle, за исключением того, что используется loadKeyBundleFromFile() или loadKeyBundleFromArray() вместо loadPrivateKeyFrom…(), и используется keyBundle() вместо privateKey().

Загрузчику может потребоваться кодовая фраза для завершения загрузки ключа или связки ключей. Необходимо использовать класс QCA::EventHandler, чтобы убедиться, что приложение справляется с этим правильно.

Примечание.

QCA также обеспечивает синхронную загрузку закрытого ключа с использованием QCA::PrivateKey::fromPEMFile(), QCA::PrivateKey::fromPEM() и QCA::PrivateKey::fromDER(). QCA обеспечивает синхронную загрузку связки ключей с использованием QCA::KeyBundle::fromArray() и QCA::KeyBundle::fromFile().

Примеры

keyloader.cpp.

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

KeyLoader()

QCA::KeyLoader::KeyLoader (QObject * parent = nullptr)

Создаёт объект KeyLoader.

Параметры

parent Родительский объект для этого экземпляра

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

loadPrivateKeyFromPEMFile()

void QCA::KeyLoader::loadPrivateKeyFromPEMFile (const QString & fileName)

Инициирует асинхронную загрузку PrivateKey из файла формата PEM.

Метод немедленно возвращается.

Параметры

fileName Имя файла (и путь, если необходимо) для загрузки ключа

Примеры

keyloader.cpp.

loadPrivateKeyFromPEM()

void QCA::KeyLoader::loadPrivateKeyFromPEM (const QString & s)

Инициирует асинхронную загрузку PrivateKey из строки формата PEM.

Метод немедленно возвращается.

Параметры

s Строка, содержащая ключ в формате PEM

loadPrivateKeyFromDER()

void QCA::KeyLoader::loadPrivateKeyFromDER (const SecureArray & a)

Инициирует асинхронную загрузку PrivateKey из массива формата PEM.

Метод немедленно возвращается.

Параметры

a Массив, содержащий ключ в формате DER

loadKeyBundleFromFile()

void QCA::KeyLoader::loadKeyBundleFromFile (const QString & fileName)

Инициирует асинхронную загрузку KeyBundle из файла.

Метод немедленно возвращается.

Параметры

fileName Имя файла (и путь, если необходимо) для загрузки связки ключей

loadKeyBundleFromArray()

void QCA::KeyLoader::loadKeyBundleFromArray (const QByteArray & a)

Инициирует асинхронную загрузку KeyBundle из массива.

Метод немедленно возвращается.

Параметры

a Массив, содержащий связку ключей

convertResult()

ConvertResult QCA::KeyLoader::convertResult () const

Результат процесса загрузки.

Он не действует до тех пор, пока не будет отправлен сигнал finished().

Примеры

keyloader.cpp.

privateKey()

PrivateKey QCA::KeyLoader::privateKey () const

Загруженный закрытый ключ.

Он действителен только в том случае, если использовались loadPrivateKeyFromPEMFile(), loadPrivateKeyFromPEM() или loadPrivateKeyFromDER(), загрузка завершена (то есть finished() был отправлен), и преобразование прошло успешно (то есть convertResult() вернул ConvertGood).

Примеры

keyloader.cpp.

keyBundle()

KeyBundle QCA::KeyLoader::keyBundle () const

Пакет ключей, который был загружен.

Он действителен только в том случае, если использовались loadKeyBundleFromFile() или loadKeyBundleFromArray(), загрузка завершена (то есть finished() был отправлен) и преобразование прошло успешно (то есть convertResult() вернул ConvertGood).

finished

void QCA::KeyLoader::finished () signal

Сигнал, который испускается после завершения процесса загрузки.

Примечание.

Возможно, процесс загрузки не завершился успешно. Следует проверить результат convertResult(), чтобы подтвердить это, прежде чем использовать результаты privateKey() или keyBundle().

Примеры

keyloader.cpp.

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

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