Класс KeyStore
Публичные типы
enum | OperatingMode { Common , ROUserPKCS11 , RWUserPKCS11 } |
enum | Type { System , User , Application , SmartCard , PGPKeyring } |
Сигналы
void | entryRemoved (bool success) |
void | entryWritten (const QString &entryId) |
void | unavailable () |
void | updated () |
Публичные функции
QList<KeyStoreEntry> | entryList () const |
bool | holdsIdentities () const |
bool | holdsPGPPublicKeys () const |
bool | holdsTrustedCertificates () const |
QString | id () const |
bool | isReadOnly () const |
bool | isValid () const |
KeyStore (const QString &id, KeyStoreManager *keyStoreManager) | |
QString | name () const |
OperatingMode | operatingMode () const |
bool | removeEntry (const QString &id) |
void | startAsynchronousMode () |
bool | switchOperatingMode (OperatingMode mode) |
Type | type () const |
QString | writeEntry (const Certificate &cert) |
QString | writeEntry (const CRL &crl) |
QString | writeEntry (const KeyBundle &kb) |
QString | writeEntry (const PGPKey &key) |
Публичные функции, унаследованные от QCA::Algorithm
Algorithm (const Algorithm &from) | |
void | change (const QString &type, const QString &provider) |
void | change (Provider::Context *c) |
Provider::Context * | context () |
const Provider::Context * | context () const |
Algorithm & | operator= (const Algorithm &from) |
Provider * | provider () const |
Provider::Context * | takeContext () |
QString | type () const |
Дружественные функции и классы
class | KeyStoreManagerPrivate |
class | KeyStorePrivate |
Дополнительные унаследованные члены
Защищённые функции, унаследованные от QCA::Algorithm
Algorithm () |
Algorithm (const QString &type, const QString &provider) |
Подробное описание
Объект хранилища ключей общего назначения.
Примеры использования:
systemstore
: Системные доверенные сертификаты.accepted self-signed
: Доверенные сертификаты приложения.apple keychain
: Идентификаторы пользователей.smartcard
: Идентификаторы смарт-карт.gnupg
: ИдентификаторыPGPKeyring
,PGPPublicKeys
.
Примечание.
- Может быть несколько объектов
KeyStore
, ссылающихся на один и тот же идентификатор. - Когда создаётся
KeyStore
, оно обращается к заданному идентификатору (deviceId
) и внутреннемуcontextId
. Если контекст исчезает,KeyStore
становится недействительным (isValid() ==false
), и испускается unavailable(). Даже если устройство позже появится снова,KeyStore
останется недействительным. Для повторного использования устройства необходимо будет создать новыйKeyStore
.
Описание перечислений
Type
enum QCA::KeyStore::Type |
Тип хранилища ключей.
System | Такие объекты, как корневые сертификаты |
User | Объекты, например, как Apple Keychain, KDE Wallet |
Application | Для кеширования принятых самоподписанных сертификатов |
SmartCard | Для смарт-карт |
PGPKeyring | Для связки ключей PGP |
OperatingMode
enum QCA::KeyStore::OperatingMode |
Режим работы хранилища ключей.
Common | не особый режим работы хранилища ключей |
ROUserPKCS11 | Специальный режим PKCS11 для работы в сеансе только для чтения. |
RWUserPKCS11 | Специальный режим PKCS11 для работы в сеансе чтения-записи. |
Описание конструкторов и деструктора
KeyStore()
QCA::KeyStore::KeyStore (const QString & id, KeyStoreManager * keyStoreManager ) |
Получает конкретный KeyStore
.
Параметры
id | Идентификация хранилища ключей |
keyStoreManager | Родительский менеджер для этого хранилища ключей |
Описание методов
isValid()
bool QCA::KeyStore::isValid () const |
Проверяет, действителен ли
KeyStore
.
Возвращает true
, если KeyStore
действителен.
type()
Type QCA::KeyStore::type () const |
Тип KeyStore
.
name()
QString QCA::KeyStore::name () const |
Имя, связанное с этим KeyStore
.
id()
QString QCA::KeyStore::id () const |
ID, связанное с этим KeyStore
.
isReadOnly()
bool QCA::KeyStore::isReadOnly () const |
Проверяет, является ли KeyStore
открытым для записи.
Возвращает true
, если KeyStore
доступен
только для чтения.
startAsynchronousMode()
void QCA::KeyStore::startAsynchronousMode () |
Включает асинхронный режим для этого экземпляра
KeyStore
.
Обычно entryList() и writeEntry() блокируют вызовы. Однако, если вызывается startAsynchronousMode(), эти функции немедленно возвращаются. entryList() вернётся с последними известными записями или пустым списком, если они еще не известны (в этом режиме updated() будет испущен, как только начальные записи станут известны, даже если хранилище фактически не было изменено. writeEntry() всегда будет возвращать пустую строку, а сигнал entryWritten() указывает результат записи.
entryList()
QList<KeyStoreEntry> QCA::KeyStore::entryList () const |
Список объектов KeyStoreEntry в этом хранилище.
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому ее нельзя вызывать из того же потока, что и EventHandler (это не проблема, если включён асинхронный режим).
См. также startAsynchronousMode
holdsTrustedCertificates()
bool QCA::KeyStore::holdsTrustedCertificates () const |
Проверяет, содержит ли KeyStore
доверенные сертификаты (и CRL
).
holdsIdentities()
bool QCA::KeyStore::holdsIdentities () const |
Проверяет, содержит ли KeyStore
идентификационные данные (например,
KeyBundle или PGPSecretKey
).
holdsPGPPublicKeys()
bool QCA::KeyStore::holdsPGPPublicKeys () const |
Проверяет, содержит ли KeyStore
объекты PGPPublicKey
.
writeEntry() [1/4]
QString QCA::KeyStore::writeEntry (const KeyBundle & kb) |
Добавляет запись в KeyStore
.
Возвращает entryId
внесённой записи или пустую строку в случае ошибки.
Параметры
kb | KeyBundle для добавления в KeyStore |
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому ее нельзя вызывать из того же потока, что и EventHandler (это не проблема, если включён асинхронный режим).
См. также startAsynchronousMode
writeEntry() [2/4]
QString QCA::KeyStore::writeEntry (const Certificate & cert) |
Это перегруженная функция, предоставленная для удобства. Она отличается от указанной выше функции только тем, какие аргументы она принимает.
Параметры
cert | Certificate для добавления в KeyStore |
writeEntry() [3/4]
QString QCA::KeyStore::writeEntry (const CRL & crl) |
Это перегруженная функция, предоставленная для удобства. Она отличается от указанной выше функции только тем, какие аргументы она принимает.
Параметры
crl | CRL для добавления в KeyStore |
writeEntry() [4/4]
QString QCA::KeyStore::writeEntry (const PGPKey & key) |
Это перегруженная функция, предоставленная для удобства. Она отличается от указанной выше функции только тем, какие аргументы она принимает.
Параметры
key | PGPKey для добавления в KeyStore |
Возвращает ссылку на ключ в связке ключей.
removeEntry()
bool QCA::KeyStore::removeEntry (const QString & id) |
Удаляет указанный KeyStoreEntry из этого
KeyStore
.
Параметры
id | Идентификатор удаляемой записи |
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому ее нельзя вызывать из того же потока, что и EventHandler (это не проблема, если включён асинхронный режим).
См. также startAsynchronousMode
operatingMode()
OperatingMode QCA::KeyStore::operatingMode () const |
Текущий режим работы KeyStore
.
switchOperatingMode()
bool QCA::KeyStore::switchOperatingMode (OperatingMode mode) |
Переключение режима работы
KeyStore
.
updated
void QCA::KeyStore::updated () | signal |
Сигнал испускается, когда KeyStore
изменяется.
Это происходит, если записи добавляются, удаляются или изменяются в этом
KeyStore
, включая изменения в
доступности записей.
unavailable
void QCA::KeyStore::unavailable () | signal |
Сигнал испускается, когда KeyStore
становится недоступным.
entryWritten
void QCA::KeyStore::entryWritten (const QString & entryId) | signal |
Сигнал испускается, когда запись была внесена в асинхронном режиме.
Параметры
entryId | Новый идентификатор записи в случае успеха или пустая строка, если запись не удалась |
entryRemoved
void QCA::KeyStore::entryRemoved (bool success) | signal |
Сигнал испускается, когда запись была удалена, в асинхронном режиме.
Параметры
success | Указывает, было ли удаление успешным (true ) или нет (false ). |