Qt Cryptographic Architecture
|
Go to the documentation of this file.
33 #ifndef QCA_PUBLICKEY_H
34 #define QCA_PUBLICKEY_H
161 QCA_EXPORT QByteArray
emsa3Encode(
const QString &hashName,
const QByteArray &digest,
int size = -1);
213 static QList<DLGroupSet> supportedGroupSets(
const QString &provider = QString());
313 static QList<Type> supportedTypes(
const QString &provider = QString());
344 static QList<Type> supportedIOTypes(
const QString &provider = QString());
383 bool isPublic()
const;
388 bool isPrivate()
const;
394 bool canExport()
const;
399 bool canKeyAgree()
const;
419 bool operator==(
const PKey &a)
const;
426 bool operator!=(
const PKey &a)
const;
435 PKey(
const QString &type,
const QString &provider);
442 void set(
const PKey &k);
511 void assignToPublic(
PKey *dest)
const;
512 void assignToPrivate(
PKey *dest)
const;
595 bool canEncrypt()
const;
602 bool canDecrypt()
const;
609 bool canVerify()
const;
679 bool validSignature(
const QByteArray &sig);
699 QByteArray toDER()
const;
709 QString toPEM()
const;
722 bool toPEMFile(
const QString &fileName)
const;
746 static PublicKey fromDER(
const QByteArray &a,
ConvertResult *result = 0,
const QString &provider = QString());
773 static PublicKey fromPEM(
const QString &s,
ConvertResult *result = 0,
const QString &provider = QString());
802 static PublicKey fromPEMFile(
const QString &fileName,
ConvertResult *result = 0,
const QString &provider = QString());
811 PublicKey(
const QString &type,
const QString &provider);
883 bool canDecrypt()
const;
890 bool canEncrypt()
const;
897 bool canSign()
const;
954 QByteArray signature();
1102 PrivateKey(
const QString &type,
const QString &provider);
1141 bool blockingEnabled()
const;
1151 void setBlockingEnabled(
bool b);
1158 bool isBusy()
const;
1176 PrivateKey createRSA(
int bits,
int exp = 65537,
const QString &provider = QString());
1193 PrivateKey createDSA(
const DLGroup &domain,
const QString &provider = QString());
1209 PrivateKey createDH(
const DLGroup &domain,
const QString &provider = QString());
1246 friend class Private;
Definition: qca_publickey.h:170
@ RSA
RSA key.
Definition: qca_publickey.h:256
@ ErrorFile
Failure because of incorrect file.
Definition: qca_publickey.h:122
@ EMSA3_MD5
MD5, with EMSA3 (ie PKCS#1 Version 1.5) encoding (this is the usual RSA algorithm)
Definition: qca_publickey.h:78
@ IETF_8192
8192-bit MODP Group ("group 18") from RFC3526 Section 7.
Definition: qca_publickey.h:145
@ EMSA3_Raw
EMSA3 without computing a message digest or a DigestInfo encoding (identical to PKCS#11's CKM_RSA_PKC...
Definition: qca_publickey.h:81
SignatureFormat
Signature formats (DSA only)
Definition: qca_publickey.h:91
@ EMSA1_SHA1
SHA1, with EMSA1 (IEEE1363-2000) encoding (this is the usual DSA algorithm - FIPS186)
Definition: qca_publickey.h:76
Definition: qca_publickey.h:826
QCA - the Qt Cryptographic Architecture.
Definition: qca_basic.h:48
Definition: qca_core.h:1148
@ IETF_1024
Group 2 from RFC 2412, Section E.2.
Definition: qca_publickey.h:139
@ PBES2_DES_SHA1
PKCS#5 v2.0 DES/CBC,SHA1.
Definition: qca_publickey.h:104
@ DSA_512
512 bit group, for compatibility with JCE
Definition: qca_publickey.h:135
Definition: qca_core.h:1248
Definition: qca_publickey.h:1258
@ IETF_1536
1536-bit MODP Group ("group 5") from RFC3526 Section 2.
Definition: qca_publickey.h:140
@ EMSA3_SHA224
SHA224, with EMSA3 (ie PKCS#1 Version 1.5) encoding.
Definition: qca_publickey.h:82
SignatureAlgorithm
Signature algorithm variants.
Definition: qca_publickey.h:73
@ EME_PKCS1v15_SSL
PKCS#1, Version 1.5 with an SSL-specific modification.
Definition: qca_publickey.h:58
@ EMSA3_RIPEMD160
RIPEMD160, with EMSA3 (ie PKCS#1 Version 1.5) encoding.
Definition: qca_publickey.h:80
@ PBES2_AES192_SHA1
PKCS#5 v2.0 AES-192/CBC,SHA1.
Definition: qca_publickey.h:107
@ PBES2_TripleDES_SHA1
PKCS#5 v2.0 TripleDES/CBC,SHA1.
Definition: qca_publickey.h:105
EncryptionAlgorithm
Encryption algorithms.
Definition: qca_publickey.h:54
@ PBEDefault
Use modern default (same as PBES2_TripleDES_SHA1)
Definition: qca_publickey.h:103
@ EMSA3_MD2
MD2, with EMSA3 (ie PKCS#1 Version 1.5) encoding.
Definition: qca_publickey.h:79
@ IETF_6144
6144-bit MODP Group ("group 17") from RFC3526 Section 6.
Definition: qca_publickey.h:144
Definition: qca_tools.h:316
@ DefaultFormat
For DSA, this is the same as IEEE_1363.
Definition: qca_publickey.h:93
@ ErrorDecode
General failure in the decode stage.
Definition: qca_publickey.h:120
Definition: qca_tools.h:570
@ IETF_4096
4096-bit MODP Group ("group 16") from RFC3526 Section 5.
Definition: qca_publickey.h:143
@ PBES2_AES256_SHA1
PKCS#5 v2.0 AES-256/CBC,SHA1.
Definition: qca_publickey.h:108
Definition: qca_publickey.h:1372
@ DSA
DSA key.
Definition: qca_publickey.h:257
Type
Types of public key cryptography keys supported by QCA.
Definition: qca_publickey.h:255
@ DSA_1024
1024 bit group, for compatibility with JCE
Definition: qca_publickey.h:137
@ EMSA3_SHA384
SHA384, with EMSA3 (ie PKCS#1 Version 1.5) encoding.
Definition: qca_publickey.h:84
@ IETF_768
Group 1 from RFC 2412, Section E.1.
Definition: qca_publickey.h:138
@ EMSA3_SHA256
SHA256, with EMSA3 (ie PKCS#1 Version 1.5) encoding.
Definition: qca_publickey.h:83
ConvertResult
Return value from a format conversion.
Definition: qca_publickey.h:117
Definition: qca_publickey.h:1120
PBEAlgorithm
Password-based encryption.
Definition: qca_publickey.h:101
@ SignatureUnknown
Unknown signing algorithm.
Definition: qca_publickey.h:75
@ EME_NO_PADDING
Raw RSA encryption.
Definition: qca_publickey.h:59
Definition: qca_publickey.h:1309
Definition: qca_tools.h:90
@ EME_PKCS1v15
Block type 2 (PKCS#1, Version 1.5)
Definition: qca_publickey.h:56
@ IETF_3072
3072-bit MODP Group ("group 15") from RFC3526 Section 4.
Definition: qca_publickey.h:142
@ EMSA3_SHA512
SHA512, with EMSA3 (ie PKCS#1 Version 1.5) encoding.
Definition: qca_publickey.h:85
@ IETF_2048
2048-bit MODP Group ("group 14") from RFC3526 Section 3.
Definition: qca_publickey.h:141
Definition: qca_publickey.h:1416
Definition: qca_publickey.h:1459
Definition: qca_publickey.h:1503
@ DERSequence
Signature wrapped in DER formatting (OpenSSL/Java)
Definition: qca_publickey.h:95
Definition: qca_publickey.h:526
@ ConvertGood
Conversion succeeded, results should be valid.
Definition: qca_publickey.h:119
@ EMSA3_SHA1
SHA1, with EMSA3 (ie PKCS#1 Version 1.5) encoding.
Definition: qca_publickey.h:77
@ DSA_768
768 bit group, for compatibility with JCE
Definition: qca_publickey.h:136
Definition: qca_publickey.h:249
@ ErrorPassphrase
Failure because of incorrect passphrase.
Definition: qca_publickey.h:121
QCA_EXPORT QByteArray emsa3Encode(const QString &hashName, const QByteArray &digest, int size=-1)
Encode a hash result in EMSA3 (PKCS#1) format.
@ IEEE_1363
40-byte format from IEEE 1363 (Botan/.NET)
Definition: qca_publickey.h:94
@ PBES2_AES128_SHA1
PKCS#5 v2.0 AES-128/CBC,SHA1.
Definition: qca_publickey.h:106
@ EME_PKCS1_OAEP
Optimal asymmetric encryption padding (PKCS#1, Version 2.0)
Definition: qca_publickey.h:57
DLGroupSet
Well known discrete logarithm group sets.
Definition: qca_publickey.h:133