Класс KeyBundle
Публичные функции
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.