Класс PrivateKey
Публичные функции
Публичные функции, унаследованные от QCA::PKey
int | bitSize () const |
bool | canExport () const |
bool | canKeyAgree () const |
bool | isDH () const |
bool | isDSA () const |
bool | isEC () const |
bool | isGOST () const |
bool | isNull () const |
bool | isPrivate () const |
bool | isPublic () const |
bool | isRSA () const |
bool | operator!= (const PKey &a) const |
PKey & | operator= (const PKey &from) |
bool | operator== (const PKey &a) const |
PKey () | |
PKey (const PKey &from) | |
PrivateKey | toPrivateKey () const |
PublicKey | toPublicKey () const |
Type | type () const |
Публичные функции, унаследованные от 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 |
Статические публичные функции
static PrivateKey | fromDER (const SecureArray &a, const SecureArray &passphrase=SecureArray(), ConvertResult *result=nullptr, const QString &provider=QString()) |
static PrivateKey | fromPEM (const QString &s, const SecureArray &passphrase=SecureArray(), ConvertResult *result=nullptr, const QString &provider=QString()) |
static PrivateKey | fromPEMFile (const QString &fileName, const SecureArray &passphrase=SecureArray(), ConvertResult *result=nullptr, const QString &provider=QString()) |
static QList<PBEAlgorithm> | supportedPBEAlgorithms (const QString &provider=QString()) |
Статические публичные функции, унаследованные от QCA::PKey
static QList<Type> | supportedIOTypes (const QString &provider=QString()) |
static QList<Type> | supportedTypes (const QString &provider=QString()) |
Защищённые методы
PrivateKey (const QString &type, const QString &provider) |
Защищённые функции, унаследованные от QCA::PKey
PKey (const QString &type, const QString &provider) | |
void | set (const PKey &k) |
DHPrivateKey | toDHPrivateKey () const |
DHPublicKey | toDHPublicKey () const |
DSAPrivateKey | toDSAPrivateKey () const |
DSAPublicKey | toDSAPublicKey () const |
ECPrivateKey | toECPrivateKey () const |
ECPublicKey | toECPublicKey () const |
GOSTPrivateKey | toGOSTPrivateKey () const |
GOSTPublicKey | toGOSTPublicKey () const |
RSAPrivateKey | toRSAPrivateKey () const |
RSAPublicKey | toRSAPublicKey () const |
Защищённые функции, унаследованные от QCA::Algorithm
Algorithm () |
Algorithm (const QString &type, const QString &provider) |
Дополнительные унаследованные члены
Публичные типы, унаследованные от QCA::PKey
enum | Type { RSA , DSA , DH , EC , GOST , UNKNOWN } |
Подробное описание
Общий закрытый ключ.
Примеры
keyloader.cpp, publickeyexample.cpp, rsatest.cpp и sslservtest.cpp.
Описание конструкторов и деструктора
PrivateKey() [1/4]
QCA::PrivateKey::PrivateKey () |
Создаёт пустой закрытый ключ.
PrivateKey() [2/4]
QCA::PrivateKey::PrivateKey (const QString & fileName, const SecureArray & passphrase = SecureArray() ) | explicit |
Импортирует закрытый ключ из представления PEM в файле.
Параметры
fileName | Имя файла, содержащего закрытый ключ |
passphrase | Кодовая фраза для закрытого ключа |
См. также fromPEMFile как альтернативный метод.
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.
PrivateKey() [3/4]
QCA::PrivateKey::PrivateKey (const PrivateKey & from) |
Конструктор копирования.
Параметры
from | Объект PrivateKey для копирования |
PrivateKey() [4/4]
QCA::PrivateKey::PrivateKey (const QString & type, const QString & provider ) | protected |
Создаёт новый закрытый ключ.
Параметры
type | Тип создаваемого ключа |
provider | Используемый криптопровайдер, если требуется конкретный криптопровайдер |
Описание методов
operator=()
PrivateKey& QCA::PrivateKey::operator= (const PrivateKey & from) |
Оператор присваивания.
Параметры
from | Объект PrivateKey для копирования |
toRSA()
RSAPrivateKey QCA::PrivateKey::toRSA () const |
Интерпретирует/конвертирует ключ в ключ RSA.
toDSA()
DSAPrivateKey QCA::PrivateKey::toDSA () const |
Интерпретирует/конвертирует ключ в ключ DSA.
toDH()
DHPrivateKey QCA::PrivateKey::toDH () const |
Интерпретирует/конвертирует ключ в ключ Диффи — Хеллмана.
toEC()
ECPrivateKey QCA::PrivateKey::toEC () const |
Интерпретирует/конвертирует ключ в ключ эллиптической кривой.
toGOST()
GOSTPrivateKey QCA::PrivateKey::toGOST () const |
Интерпретирует/конвертирует ключ в ключ ГОСТ.
canDecrypt()
bool QCA::PrivateKey::canDecrypt () const |
Проверяет, можно ли использовать этот ключ для дешифрования.
Возвращает true
, если ключ можно использовать для дешифрования.
Примеры
canEncrypt()
bool QCA::PrivateKey::canEncrypt () const |
Проверяет, можно ли использовать этот ключ для шифрования.
Возвращает true
, если ключ можно использовать для шифрования.
canSign()
bool QCA::PrivateKey::canSign () const |
Проверяет, можно ли использовать этот ключ для подписи.
Возвращает true
, если ключ можно использовать для создания подписи.
Примеры
maximumEncryptSize()
int QCA::PrivateKey::maximumEncryptSize (EncryptionAlgorithm alg) const |
Максимальный размер сообщения, которое можно зашифровать с помощью указанного алгоритма.
Параметры
alg | Алгоритм для проверки |
decrypt()
bool QCA::PrivateKey::decrypt (const SecureArray & in, SecureArray * out, EncryptionAlgorithm alg ) |
Расшифровывает сообщение.
Параметры
in | Зашифрованные данные |
out | Данные в виде обычного текста |
alg | Используемый алгоритм |
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.
Примеры
publickeyexample.cpp и rsatest.cpp.
encrypt()
SecureArray QCA::PrivateKey::encrypt (const SecureArray & a, EncryptionAlgorithm alg ) |
Шифрует сообщение, используя указанный алгоритм.
Параметры
a | Сообщение для шифрования |
alg | Используемый алгоритм |
startSign()
void QCA::PrivateKey::startSign (SignatureAlgorithm alg, SignatureFormat format = DefaultFormat ) |
Инициализирует процесс подписи сообщения.
Параметры
alg | Алгоритм, используемый для процесса подписи сообщения |
format | Используемый формат подписи для DSA |
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.
Примеры
update()
void QCA::PrivateKey::update (const MemoryRegion & a) |
Обновляет процесс подписи.
Параметры
a | Сообщение для обновления подписи |
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.
Примеры
signature()
QByteArray QCA::PrivateKey::signature () |
Получившаяся подпись.
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.
Примеры
signMessage()
QByteArray QCA::PrivateKey::signMessage (const MemoryRegion & a, SignatureAlgorithm alg, SignatureFormat format = DefaultFormat ) |
Одноэтапный процесс подписи.
Параметры
a | Сообщение для подписи |
alg | Используемый алгоритм подписи |
format | Используемый формат подписи для DSA |
Возвращает подпись.
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.
deriveKey()
SymmetricKey QCA::PrivateKey::deriveKey (const PublicKey & theirs) |
Получает общий секретный ключ из открытого ключа.
Параметры
theirs | Открытый ключ, из которого извлекается закрытый ключ |
supportedPBEAlgorithms()
static QList<PBEAlgorithm> QCA::PrivateKey::supportedPBEAlgorithms (const QString & provider = QString()) | static |
Перечисляет поддерживаемые алгоритмы шифрования на основе пароля, которые можно использовать для защиты ключа.
Параметры
provider | Криптопровайдер, который будет использоваться, если требуется конкретный криптопровайдер |
toDER()
SecureArray QCA::PrivateKey::toDER (const SecureArray & passphrase = SecureArray(), PBEAlgorithm pbe = PBEDefault ) const |
Экспортирует ключ в формате особых правил кодирования (DER
).
Параметры
passphrase | Кодовая фраза для защиты ключа |
pbe | Алгоритм симметричного шифрования для защиты ключа |
См. также fromDER
предоставляет действие, обратное
toDER,
преобразуя закодированный ключ DER
в PrivateKey
.
toPEM()
QString QCA::PrivateKey::toPEM (const SecureArray & passphrase = SecureArray(), PBEAlgorithm pbe = PBEDefault ) const |
Экспортирует ключ в формате почты с повышенной секретностью (PEM
).
Параметры
passphrase | Кодовая фраза для защиты ключа |
pbe | Алгоритм симметричного шифрования для защиты ключа |
См. также toPEMFile
предоставляет удобный способ сохранить закодированный ключ PEM
в файл.
fromPEM
предоставляет действие, обратное
toPEM,
преобразуя закодированный ключ PEM
в PrivateKey
.
toPEMFile()
bool QCA::PrivateKey::toPEMFile (const QString & fileName, const SecureArray & passphrase = SecureArray(), PBEAlgorithm pbe = PBEDefault ) const |
Экспортирует ключ в формате почты с повышенной секретностью (PEM
) в файл.
Параметры
fileName | Имя файла (и путь, если требуется), куда должен быть экспортирован ключ |
passphrase | Кодовая фраза для защиты ключа |
pbe | Алгоритм симметричного шифрования для защиты ключа |
Возвращает true, если экспорт успешен.
См. также toPEM
предоставляет удобный способ сохранить закодированный ключ PEM
в файл.
fromPEM
предоставляет действие, обратное
toPEM,
преобразуя закодированный ключ PEM
в PrivateKey
.
Примеры
fromDER()
static PrivateKey QCA::PrivateKey::fromDER (const SecureArray & a, const SecureArray & passphrase = SecureArray(), ConvertResult * result = nullptr, const QString & provider = QString() ) | static |
Импортирует ключ в формате особых правил кодирования (DER
).
Параметры
a | Массив, содержащий DER -представление ключа |
passphrase | Кодовая фраза, которая используется для защиты ключа |
result | Указатель на ConvertResult , который будет содержать результат импорта, если будет предоставлен |
provider | Криптопровайдер, который будет использоваться, если требуется конкретный криптопровайдер |
См. также toDER предоставляет действие, обратное fromDER, экспортируя ключ в массив.
QCA::KeyLoader для асинхронного загрузчика.
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.
fromPEM()
static PrivateKey QCA::PrivateKey::fromPEM (const QString & s, const SecureArray & passphrase = SecureArray(), ConvertResult * result = nullptr, const QString & provider = QString() ) | static |
Импортирует ключ в формате почты с повышенной секретностью (PEM
).
Параметры
s | Строка, содержащая PEM-представление ключа |
passphrase | Кодовая фраза, которая используется для защиты ключа |
result | Указатель на ConvertResult , который будет содержать результат импорта, если будет предоставлен |
provider | Криптопровайдер, который будет использоваться, если требуется конкретный криптопровайдер |
См. также toPEM предоставляет действие, обратное fromPEM, экспортируя ключ в строку в кодировке PEM.
QCA::KeyLoader для асинхронного загрузчика.
Примечание.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.
Примеры
fromPEMFile()
static PrivateKey QCA::PrivateKey::fromPEMFile (const QString & fileName, const SecureArray & passphrase = SecureArray(), ConvertResult * result = nullptr, const QString & provider = QString() ) | static |
Импортирует ключ в формате почты с повышенной секретностью (PEM
) из файла.
Параметры
fileName | Имя (и путь, если требуется) файла, содержащего PEM-представление ключа |
passphrase | Кодовая фраза, которая используется для защиты ключа |
result | Указатель на ConvertResult , который будет содержать результат импорта, если будет предоставлен |
provider | Криптопровайдер, который будет использоваться, если требуется конкретный криптопровайдер |
См. также toPEMFile предоставляет действие, обратное fromPEMFile,
fromPEM, который позволяет импорт из строки,
QCA::KeyLoader для асинхронного загрузчика.
Примечание.
есть также конструктор, позволяющий создавать ключ напрямую.
Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.
Примеры
publickeyexample.cpp и rsatest.cpp.
wrap() [1/2]
QByteArray QCA::PrivateKey::wrap (const QString & algorithm, const SymmetricKey & wrappingKey ) |
Обертывает (шифрует) ключ, используя заданный алгоритм и симметричный ключ.
Параметры
algortihm | Algorithm, который будет использоваться для шифрования. Большинство стандартных алгоритмов шифрования должны работать, но могут быть и особые алгоритмы. |
wrappingKey | SymmetricKey используемый для шифрования |
wrap() [2/2]
QByteArray QCA::PrivateKey::wrap (const QString & algorithm, const PublicKey & wrappingKey ) |
Обёртывает (шифрует) ключ, используя заданный алгоритм и открытый ключ.
Параметры
algortihm | Algorithm, который будет использоваться для шифрования. Большинство стандартных алгоритмов шифрования должны работать, но могут быть и особые алгоритмы. |
wrappingKey | PublicKey, используемый для шифрования |