Класс PKeyContext(абстрактный)
Публичные функции
virtual bool | importKey (const PKeyBase *key)=0 |
virtual const PKeyBase * | key () const =0 |
virtual PKeyBase * | key ()=0 |
PKeyContext (Provider *p) | |
virtual ConvertResult | privateFromDER (const SecureArray &a, const SecureArray &passphrase) |
virtual ConvertResult | privateFromPEM (const QString &s, const SecureArray &passphrase) |
virtual SecureArray | privateToDER (const SecureArray &passphrase, PBEAlgorithm pbe) const |
virtual QString | privateToPEM (const SecureArray &passphrase, PBEAlgorithm pbe) const |
virtual ConvertResult | publicFromDER (const QByteArray &a) |
virtual ConvertResult | publicFromPEM (const QString &s) |
virtual QByteArray | publicToDER () const |
virtual QString | publicToPEM () const |
virtual void | setKey (PKeyBase *key)=0 |
virtual QList< PKey::Type > | supportedIOTypes () const =0 |
virtual QList<PBEAlgorithm> | supportedPBEAlgorithms () const =0 |
virtual QList< PKey::Type > | supportedTypes () const =0 |
Дополнительные унаследованные члены
Защищённые функции, унаследованные от QCA::BasicContext
BasicContext (const BasicContext &from) |
BasicContext (Provider *parent, const QString &type) |
Подробное описание
Криптопровайдер контейнера открытого ключа.
Примечание.
Этот класс является частью интерфейса подключаемого модуля криптопровайдера и не должен использоваться приложениями напрямую. Возможно стоит использовать PKey, PublicKey или PrivateKey вместо него.
Этот объект «содержит» объект открытого ключа. По умолчанию он не содержит ключа
(key()
возвращает 0
), но можно поместить в него ключ с помощью
setKey()
или вызвать функцию импорта, такую как
publicFromDER().
Описание конструкторов и деструктора
PKeyContext()
QCA::PKeyContext::PKeyContext (Provider * p) | inline |
Стандартный конструктор.
Параметры
p | Криптопровайдер, связанный с этим контекстом |
Описание методов
supportedTypes()
virtual QList<PKey::Type> QCA::PKeyContext::supportedTypes () const | pure virtual |
Возвращает список поддерживаемых типов открытых ключей.
supportedIOTypes()
virtual QList<PKey::Type> QCA::PKeyContext::supportedIOTypes () const | pure virtual |
Возвращает список типов открытых ключей, которые можно сериализовать и десериализовать в формат
DER
и PEM
.
supportedPBEAlgorithms()
virtual QList<PBEAlgorithm> QCA::PKeyContext::supportedPBEAlgorithms () const | pure virtual |
Возвращает список алгоритмов шифрования на основе пароля, которые поддерживаются для сериализации и десериализации закрытого ключа.
key() [1/2]
virtual PKeyBase* QCA::PKeyContext::key () | pure virtual |
Возвращает ключ, удерживаемый этим объектом, или 0
, если ключа нет.
key() [2/2]
virtual const PKeyBase* QCA::PKeyContext::key () const | pure virtual |
Возвращает ключ, удерживаемый этим объектом, или 0
, если ключа нет.
setKey()
virtual void QCA::PKeyContext::setKey (PKeyBase * key) | pure virtual |
Устанавливает ключ для этого объекта.
Если у этого объекта уже был ключ, то старый разрушается. Данный объект становится владельцем ключа.
Параметры
key | Ключ, который будет установлен для этого объекта |
importKey()
virtual bool QCA::PKeyContext::importKey (const PKeyBase * key) | pure virtual |
Пытается импортировать ключ от другого криптопровайдера.
В случае успеха возвращает true
, в противном случае — false
.
Обычно этот метод используется, если криптопровайдер указанного ключа не поддерживает сериализацию, но другой криптопровайдер поддерживает. За вызовом этого метода следует вызов метода экспорта, например publicToDER().
Параметры
key | Ключ для импорта |
publicToDER()
virtual QByteArray QCA::PKeyContext::publicToDER () const | virtual |
Преобразует открытый ключ в формат DER
и возвращает значение.
В случае ошибки возвращает пустой массив.
publicToPEM()
virtual QString QCA::PKeyContext::publicToPEM () const | virtual |
Преобразует открытый ключ в формат DER
и возвращает значение.
В случае ошибки возвращает пустую строку.
publicFromDER()
virtual ConvertResult QCA::PKeyContext::publicFromDER (const QByteArray & a) | virtual |
Считывает входные данные в формате DER
и преобразует их в открытый ключ.
В случае успешного выполнения возвращает QCA::ConvertGood, в противном случае — значение ошибки.
Параметры
a | Входные данные |
publicFromPEM()
virtual ConvertResult QCA::PKeyContext::publicFromPEM (const QString & s) | virtual |
Считывает входные данные в формате PEM
и преобразует их в открытый ключ.
В случае успешного выполнения возвращает QCA::ConvertGood, в противном случае — значение ошибки.
Параметры
s | Входные данные |
privateToDER()
virtual SecureArray QCA::PKeyContext::privateToDER (const SecureArray & passphrase, PBEAlgorithm pbe ) const | virtual |
Преобразует закрытый ключ в формат DER
и возвращает значение.
В случае ошибки возвращает пустой массив.
Параметры
passphrase | Кодовая фраза для кодирования результата или пустой массив, если шифрование не требуется |
pbe | Используемый алгоритм шифрования, если применим |
privateToPEM()
virtual QString QCA::PKeyContext::privateToPEM (const SecureArray & passphrase, PBEAlgorithm pbe ) const | virtual |
Преобразует закрытый ключ в формат DER
и возвращает значение.
В случае ошибки возвращает пустую строку.
Параметры
passphrase | Кодовая фраза для кодирования результата или пустой массив, если шифрование не требуется |
pbe | Используемый алгоритм шифрования, если применим |
privateFromDER()
virtual ConvertResult QCA::PKeyContext::privateFromDER (const SecureArray & a, const SecureArray & passphrase ) | virtual |
Считывает входные данные в формате DER
и преобразует их в закрытый ключ.
В случае успешного выполнения возвращает QCA::ConvertGood, в противном случае — значение ошибки.
Параметры
a | Входные данные |
passphrase | Кодовая фраза, необходимая для расшифровки, если применимо |
privateFromPEM()
virtual ConvertResult QCA::PKeyContext::privateFromPEM (const QString & s, const SecureArray & passphrase ) | virtual |
Считывает входные данные в формате PEM
и преобразует их в закрытый ключ.
В случае успешного выполнения возвращает QCA::ConvertGood, в противном случае — значение ошибки.
Параметры
s | Входные данные |
passphrase | Кодовая фраза, необходимая для расшифровки, если применимо |