diff --git a/include/QtCrypto/qca_publickey.h b/include/QtCrypto/qca_publickey.h index 1701b41c..e2600d83 100644 --- a/include/QtCrypto/qca_publickey.h +++ b/include/QtCrypto/qca_publickey.h @@ -77,9 +77,12 @@ namespace QCA */ enum PBEAlgo { - PBEDefault, ///< Use modern default (same as PBE2_TripleDES_SHA1) - PBE2_DES_SHA1, ///< PKCS#5 v2.0 DES/CBC/SHA1 - PBE2_TripleDES_SHA1 ///< PKCS#5 v2.0 TripleDES/CBC/SHA1 + PBEDefault, ///< Use modern default (same as PBES2_TripleDES_SHA1) + PBES2_DES_SHA1, ///< PKCS#5 v2.0 DES/CBC,SHA1 + PBES2_TripleDES_SHA1, ///< PKCS#5 v2.0 TripleDES/CBC,SHA1 + PBES2_AES128_SHA1, ///< PKCS#5 v2.0 AES-128/CBC,SHA1 + PBES2_AES192_SHA1, ///< PKCS#5 v2.0 AES-192/CBC,SHA1 + PBES2_AES256_SHA1 ///< PKCS#5 v2.0 AES-256/CBC,SHA1 }; class QCA_EXPORT PKey : public Algorithm @@ -182,6 +185,7 @@ namespace QCA SymmetricKey deriveKey(const PublicKey &theirs); // import / export + static bool canUsePBEAlgo(PBEAlgo algo, const QString &provider = QString()); QSecureArray toDER(const QSecureArray &passphrase = QSecureArray(), PBEAlgo pbe = PBEDefault) const; QString toPEM(const QSecureArray &passphrase = QSecureArray(), PBEAlgo pbe = PBEDefault) const; static PrivateKey fromDER(const QSecureArray &a, const QSecureArray &passphrase = QSecureArray(), const QString &provider = QString()); diff --git a/include/QtCrypto/qca_securelayer.h b/include/QtCrypto/qca_securelayer.h index 885c36d0..0ffdbfe5 100644 --- a/include/QtCrypto/qca_securelayer.h +++ b/include/QtCrypto/qca_securelayer.h @@ -127,7 +127,7 @@ namespace QCA void setConstraints(SecurityLevel s); void setConstraints(int minSSF, int maxSSF); - bool canCompress() const; + static bool canCompress(const QString &provider = QString()); void setCompressionEnabled(bool b); bool startClient(const QString &host = QString()); diff --git a/src/qca_publickey.cpp b/src/qca_publickey.cpp index a4a9b6e5..a087a734 100644 --- a/src/qca_publickey.cpp +++ b/src/qca_publickey.cpp @@ -396,6 +396,13 @@ SymmetricKey PrivateKey::deriveKey(const PublicKey &theirs) return ((PKeyContext *)context())->key()->deriveKey(*(theirContext->key())); } +bool PrivateKey::canUsePBEAlgo(PBEAlgo algo, const QString &provider) +{ + Q_UNUSED(algo); + Q_UNUSED(provider); + return false; +} + QSecureArray PrivateKey::toDER(const QSecureArray &passphrase, PBEAlgo pbe) const { Q_UNUSED(pbe); diff --git a/src/qca_securelayer.cpp b/src/qca_securelayer.cpp index 59ad1fa2..2f9f2dba 100644 --- a/src/qca_securelayer.cpp +++ b/src/qca_securelayer.cpp @@ -176,6 +176,12 @@ void TLS::setConstraints(int, int) { } +bool TLS::canCompress(const QString &provider) +{ + Q_UNUSED(provider); + return false; +} + void TLS::setCompressionEnabled(bool b) { Q_UNUSED(b);