Класс KeyBundle
#include <QtCrypto>
Публичные функции
| CertificateChain | certificateChain () const |
| bool | isNull () const |
| KeyBundle () | |
| KeyBundle (const KeyBundle &from) | |
| KeyBundle (const QString &fileName, const SecureArray &passphrase=SecureArray()) | |
| QString | name () const |
| KeyBundle & | operator= (const KeyBundle &from) |
| PrivateKey | privateKey () const |
| void | setCertificateChainAndKey (const CertificateChain &c, const PrivateKey &key) |
| void | setName (const QString &s) |
| QByteArray | toArray (const SecureArray &passphrase, const QString &provider=QString()) const |
| bool | toFile (const QString &fileName, const SecureArray &passphrase, const QString &provider=QString()) const |
Статические публичные функции
| static KeyBundle | fromArray (const QByteArray &a, const SecureArray &passphrase=SecureArray(), ConvertResult *result=nullptr, const QString &provider=QString()) |
| static KeyBundle | fromFile (const QString &fileName, const SecureArray &passphrase=SecureArray(), ConvertResult *result=nullptr, const QString &provider=QString()) |
Подробное описание
Цепочка Certificate и пара закрытых ключей.
KeyBundle — удобный класс,
который содержит цепочку сертификатов и связанный с ними закрытый ключ. Этот класс имеет ряд
методов, которые делают его особенно подходящим для доступа к файлу формата PKCS12 (.p12),
однако его можно использовать просто как контейнер для
Certificate, связанного с ним
PrivateKey и, возможно, дополнительного
Certificate X.509, которые образуют
цепочку.
Для получения дополнительной информации о PKCS12 «Personal Information Exchange Syntax Standard» следует ознакомиться с https://www.foo.be/docs-free/opensst/ref/pkcs-12v1.pdf.
Описание конструкторов и деструктора
KeyBundle() [1/3]
| QCA::KeyBundle::KeyBundle () |
Создаёт пустой KeyBundle.
KeyBundle() [2/3]
| QCA::KeyBundle::KeyBundle (const QString & fileName, const SecureArray & passphrase = SecureArray() ) | explicit |
Создаёт KeyBundle из файла в
кодировке PKCS12 (.p12).
Этот конструктор требует поддержки соответствующего плагина (криптопровайдера). Перед использованием этого конструктора необходимо проверить функционирование «pkcs12».
Параметры
| fileName | Название файла для чтения |
| passphrase | Кодовая фраза, применимая к файлу |
См. также fromFile для более гибкой версии той же возможности.
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.
KeyBundle() [3/3]
| QCA::KeyBundle::KeyBundle (const KeyBundle & from) |
Стандартный конструктор копирования.
Параметры
| from | KeyBundle для использования в качестве источника |
Описание методов
operator=()
| KeyBundle & QCA::KeyBundle::operator= (const KeyBundle & from) |
Стандартный оператор присваивания.
Параметры
| from | KeyBundle для использования в качестве источника |
isNull()
| bool QCA::KeyBundle::isNull () const |
Проверяет, является ли ключ пустым (null).
name()
| QString QCA::KeyBundle::name () const |
Имя, связанное с этим ключом.
Также известно как «понятное имя», и, если оно есть, то обычно подходит для отображения пользователю.
См. также setName.
certificateChain()
| CertificateChain QCA::KeyBundle::certificateChain () const |
Публичный сертификат, входящий в этот комплект.
См. также setCertificateChainAndKey.
privateKey()
| PrivateKey QCA::KeyBundle::privateKey () const |
Часть закрытого ключа этого комплекта.
См. также setCertificateChainAndKey.
setName()
| void QCA::KeyBundle::setName (const QString & s) |
Указывает название этого комплекта.
Параметры
| s | Название для использования |
setCertificateChainAndKey()
| void QCA::KeyBundle::setCertificateChainAndKey (const CertificateChain & c, const PrivateKey & key ) |
Устанавливает открытый сертификат и закрытый ключ.
Параметры
| c | CertificateChain, содержащая открытую часть комплекта |
| key | Часть закрытого ключа комплекта. |
См. также privateKey, certificateChain для функций-получателей.
toArray()
| QByteArray QCA::KeyBundle::toArray (const SecureArray & passphrase, const QString & provider = QString() ) const |
Экспортирует пакет ключей в массив в формате PKCS12.
Этот метод требует подходящую поддержку плагина (криптопровайдера) — необходимо проверить функционирования «pkcs12», как показано ниже.
if( QCA::isSupported("pkcs12") )
{
// можно использовать I/O
byteArray = bundle.toArray( "pass phrase" );
}
else
{
// невозможно использовать I/O
}
Параметры
| passphrase | Парольная фраза для защиты комплекта |
| provider | Криптопровайдер, который будет использоваться, если требуется конкретный криптопровайдер |
toFile()
| bool QCA::KeyBundle::toFile (const QString & fileName, const SecureArray & passphrase, const QString & provider = QString() ) const |
Экспортирует пакет ключей в файл в формате PKCS12 (.p12).
Этот метод требует подходящую поддержку плагина (криптопровайдера) — необходимо проверить функционирования «pkcs12», как показано ниже.
if( QCA::isSupported("pkcs12") )
{
// можно использовать I/O
bool result = bundle.toFile( filename, "pass phrase" );
}
else
{
// невозможно использовать I/O
}
Параметры
| fileName | Имя файла для сохранения |
| passphrase | Парольная фраза для защиты комплекта |
| provider | Криптопровайдер, который будет использоваться, если требуется конкретный криптопровайдер |
fromArray()
| static KeyBundle QCA::KeyBundle::fromArray (const QByteArray & a, const SecureArray & passphrase = SecureArray(), ConvertResult * result = nullptr, const QString & provider = QString() ) | static |
Импортирует пакет ключей из массива в формате PKCS12.
Этот метод требует подходящую поддержку плагина (криптопровайдера) — необходимо проверить функционирования «pkcs12», как показано ниже.
if( QCA::isSupported("pkcs12") )
{
// можно использовать I/O
bundle = QCA::KeyBundle::fromArray( array, "pass phrase" );
}
else
{
// невозможно использовать I/O
}
Параметры
| a | Массив для импорта |
| passphrase | Кодовая фраза для закодированного комплекта |
| result | Указатель на результат процесса импорта |
| provider | Криптопровайдер, который будет использоваться, если требуется конкретный криптопровайдер |
См. также QCA::KeyLoader для асинхронного загрузчика.
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.
fromFile()
| static KeyBundle QCA::KeyBundle::fromFile (const QString & fileName, const SecureArray & passphrase = SecureArray(), ConvertResult * result = nullptr, const QString & provider = QString() ) | static |
Импортирует комплект ключей из файла в формате PKCS12 (.p12).
Этот метод требует подходящую поддержку плагина (криптопровайдера) — необходимо проверить функционирования «pkcs12», как показано ниже.
if( QCA::isSupported("pkcs12") )
{
// можно использовать I/O
bundle = QCA::KeyBundle::fromFile( filename, "pass phrase" );
}
else
{
// невозможно использовать I/O
}
Параметры
| fileName | Название файла для чтения |
| passphrase | Кодовая фраза для закодированного комплекта |
| result | Указатель на результат процесса импорта |
| provider | Криптопровайдер, который будет использоваться, если требуется конкретный криптопровайдер |
См. также QCA::KeyLoader для асинхронного загрузчика.
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.