Документация
ОС Аврора 5.0.1

Класс PrivateKey

Публичные функции

bool canDecrypt () const
bool canEncrypt () const
bool canSign () const
bool decrypt (const SecureArray &in, SecureArray *out, EncryptionAlgorithm alg)
SymmetricKey deriveKey (const PublicKey &theirs)
SecureArray encrypt (const SecureArray &a, EncryptionAlgorithm alg)
int maximumEncryptSize (EncryptionAlgorithm alg) const
PrivateKey & operator= (const PrivateKey &from)
PrivateKey ()
PrivateKey (const PrivateKey &from)
PrivateKey (const QString &fileName, const SecureArray &passphrase=SecureArray())
QByteArray signature ()
QByteArray signMessage (const MemoryRegion &a, SignatureAlgorithm alg, SignatureFormat format=DefaultFormat)
void startSign (SignatureAlgorithm alg, SignatureFormat format=DefaultFormat)
SecureArray toDER (const SecureArray &passphrase=SecureArray(), PBEAlgorithm pbe=PBEDefault) const
DHPrivateKey toDH () const
DSAPrivateKey toDSA () const
ECPrivateKey toEC () const
GOSTPrivateKey toGOST () const
QString toPEM (const SecureArray &passphrase=SecureArray(), PBEAlgorithm pbe=PBEDefault) const
bool toPEMFile (const QString &fileName, const SecureArray &passphrase=SecureArray(), PBEAlgorithm pbe=PBEDefault) const
RSAPrivateKey toRSA () const
void update (const MemoryRegion &a)
QByteArray wrap (const QString &algorithm, const PublicKey &wrappingKey)
QByteArray wrap (const QString &algorithm, const SymmetricKey &wrappingKey)

Публичные функции, унаследованные от 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, если ключ можно использовать для дешифрования.

Примеры

publickeyexample.cpp.

canEncrypt()

bool QCA::PrivateKey::canEncrypt () const

Проверяет, можно ли использовать этот ключ для шифрования.

Возвращает true, если ключ можно использовать для шифрования.

canSign()

bool QCA::PrivateKey::canSign () const

Проверяет, можно ли использовать этот ключ для подписи.

Возвращает true, если ключ можно использовать для создания подписи.

Примеры

rsatest.cpp.

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.

Примеры

rsatest.cpp.

update()

void QCA::PrivateKey::update (const MemoryRegion & a)

Обновляет процесс подписи.

Параметры

a Сообщение для обновления подписи

Примечание.

Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.

Примеры

rsatest.cpp.

signature()

QByteArray QCA::PrivateKey::signature ()

Получившаяся подпись.

Примечание.

Эта синхронная операция может потребовать обработки событий, поэтому её нельзя вызывать из того же потока, что и EventHandler.

Примеры

rsatest.cpp.

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.

Примеры

rsatest.cpp.

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.

Примеры

sslservtest.cpp.

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, используемый для шифрования

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.