aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/core/GpgCoreTestKeygen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/core/GpgCoreTestKeygen.cpp')
-rw-r--r--src/test/core/GpgCoreTestKeygen.cpp486
1 files changed, 282 insertions, 204 deletions
diff --git a/src/test/core/GpgCoreTestKeygen.cpp b/src/test/core/GpgCoreTestKeygen.cpp
index 9197e18e..a6c28219 100644
--- a/src/test/core/GpgCoreTestKeygen.cpp
+++ b/src/test/core/GpgCoreTestKeygen.cpp
@@ -29,26 +29,49 @@
#include "GpgCoreTest.h"
#include "core/function/gpg/GpgKeyGetter.h"
#include "core/function/gpg/GpgKeyOpera.h"
-#include "core/model/GpgGenKeyInfo.h"
#include "core/model/GpgGenerateKeyResult.h"
#include "core/model/GpgKey.h"
+#include "core/model/GpgKeyGenerateInfo.h"
#include "core/utils/GpgUtils.h"
#include "core/utils/MemoryUtils.h"
namespace GpgFrontend::Test {
+TEST_F(GpgCoreTest, SearchPrimaryKeyAlgoTest) {
+ auto [find, algo] = KeyGenerateInfo::SearchPrimaryKeyAlgo("rsa2048");
+ ASSERT_TRUE(find);
+ ASSERT_EQ(algo.Id(), "rsa2048");
+ ASSERT_EQ(algo.Id(), "rsa2048");
+ ASSERT_EQ(algo.Name(), "RSA");
+ ASSERT_EQ(algo.Type(), "RSA");
+ ASSERT_EQ(algo.KeyLength(), 2048);
+}
+
+TEST_F(GpgCoreTest, SearchSubKeyAlgoTest) {
+ auto [find, algo] = KeyGenerateInfo::SearchSubKeyAlgo("rsa2048");
+ ASSERT_TRUE(find);
+ ASSERT_EQ(algo.Id(), "rsa2048");
+ ASSERT_EQ(algo.Name(), "RSA");
+ ASSERT_EQ(algo.Type(), "RSA");
+ ASSERT_EQ(algo.KeyLength(), 2048);
+}
+
TEST_F(GpgCoreTest, GenerateKeyRSA2048Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_0");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("foobar");
- keygen_info->SetAlgo("rsa");
- keygen_info->SetKeyLength(2048);
- keygen_info->SetNonExpired(true);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<KeyGenerateInfo>::create();
+ p_info->SetName("foo_0");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("foobar");
+
+ auto [found, algo] = KeyGenerateInfo::SearchPrimaryKeyAlgo("rsa2048");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "rsa2048");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(true);
+ p_info->SetNonPassPhrase(true);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -69,37 +92,41 @@ TEST_F(GpgCoreTest, GenerateKeyRSA2048Test) {
ASSERT_EQ(key.GetPrimaryKeyLength(), 2048);
ASSERT_EQ(key.GetExpireTime(), QDateTime::fromMSecsSinceEpoch(0));
- ASSERT_TRUE(key.IsHasCertificationCapability());
- ASSERT_TRUE(key.IsHasAuthenticationCapability());
- ASSERT_TRUE(key.IsHasEncryptionCapability());
- ASSERT_TRUE(key.IsHasSigningCapability());
+ ASSERT_TRUE(key.IsHasCertCap());
+ ASSERT_TRUE(key.IsHasAuthCap());
+ ASSERT_TRUE(key.IsHasEncrCap());
+ ASSERT_TRUE(key.IsHasSignCap());
- ASSERT_TRUE(key.IsHasActualCertificationCapability());
- ASSERT_TRUE(key.IsHasActualAuthenticationCapability());
- ASSERT_TRUE(key.IsHasActualEncryptionCapability());
- ASSERT_TRUE(key.IsHasActualSigningCapability());
+ ASSERT_TRUE(key.IsHasActualCertCap());
+ ASSERT_TRUE(key.IsHasActualAuthCap());
+ ASSERT_TRUE(key.IsHasActualEncrCap());
+ ASSERT_TRUE(key.IsHasActualSignCap());
GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
.DeleteKey(result.GetFingerprint());
}
TEST_F(GpgCoreTest, GenerateKeyRSA4096Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_1");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("rsa");
- keygen_info->SetKeyLength(4096);
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<KeyGenerateInfo>::create();
+ p_info->SetName("foo_1");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = KeyGenerateInfo::SearchPrimaryKeyAlgo("rsa4096");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "rsa4096");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
@@ -119,22 +146,26 @@ TEST_F(GpgCoreTest, GenerateKeyRSA4096Test) {
}
TEST_F(GpgCoreTest, GenerateKeyDSA2048Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_1");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("dsa");
- keygen_info->SetKeyLength(2048);
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<KeyGenerateInfo>::create();
+ p_info->SetName("foo_1");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = KeyGenerateInfo::SearchPrimaryKeyAlgo("dsa2048");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "dsa2048");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
ASSERT_TRUE(data_object->Check<GpgGenerateKeyResult>());
@@ -154,36 +185,41 @@ TEST_F(GpgCoreTest, GenerateKeyDSA2048Test) {
ASSERT_EQ(key.GetPrimaryKeyLength(), 2048);
ASSERT_GT(key.GetExpireTime(), QDateTime::currentDateTime());
- ASSERT_TRUE(key.IsHasCertificationCapability());
- ASSERT_TRUE(key.IsHasAuthenticationCapability());
- ASSERT_FALSE(key.IsHasEncryptionCapability());
- ASSERT_TRUE(key.IsHasSigningCapability());
+ ASSERT_TRUE(key.IsHasCertCap());
+ ASSERT_TRUE(key.IsHasAuthCap());
+ ASSERT_FALSE(key.IsHasEncrCap());
+ ASSERT_TRUE(key.IsHasSignCap());
- ASSERT_TRUE(key.IsHasActualCertificationCapability());
- ASSERT_TRUE(key.IsHasActualAuthenticationCapability());
- ASSERT_FALSE(key.IsHasActualEncryptionCapability());
- ASSERT_TRUE(key.IsHasActualSigningCapability());
+ ASSERT_TRUE(key.IsHasActualCertCap());
+ ASSERT_TRUE(key.IsHasActualAuthCap());
+ ASSERT_FALSE(key.IsHasActualEncrCap());
+ ASSERT_TRUE(key.IsHasActualSignCap());
GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
.DeleteKey(result.GetFingerprint());
}
TEST_F(GpgCoreTest, GenerateKeyED25519Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_4");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("ed25519");
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<KeyGenerateInfo>::create();
+ p_info->SetName("foo_4");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = KeyGenerateInfo::SearchPrimaryKeyAlgo("ed25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "ed25519");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
ASSERT_TRUE(data_object->Check<GpgGenerateKeyResult>());
@@ -203,37 +239,46 @@ TEST_F(GpgCoreTest, GenerateKeyED25519Test) {
ASSERT_EQ(key.GetPrimaryKeyLength(), 255);
ASSERT_GT(key.GetExpireTime(), QDateTime::currentDateTime());
- ASSERT_TRUE(key.IsHasCertificationCapability());
- ASSERT_TRUE(key.IsHasAuthenticationCapability());
- ASSERT_FALSE(key.IsHasEncryptionCapability());
- ASSERT_TRUE(key.IsHasSigningCapability());
+ ASSERT_TRUE(key.IsHasCertCap());
+ ASSERT_TRUE(key.IsHasAuthCap());
+ ASSERT_FALSE(key.IsHasEncrCap());
+ ASSERT_TRUE(key.IsHasSignCap());
- ASSERT_TRUE(key.IsHasActualCertificationCapability());
- ASSERT_TRUE(key.IsHasActualAuthenticationCapability());
- ASSERT_FALSE(key.IsHasActualEncryptionCapability());
- ASSERT_TRUE(key.IsHasActualSigningCapability());
+ ASSERT_TRUE(key.IsHasActualCertCap());
+ ASSERT_TRUE(key.IsHasActualAuthCap());
+ ASSERT_FALSE(key.IsHasActualEncrCap());
+ ASSERT_TRUE(key.IsHasActualSignCap());
GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
.DeleteKey(result.GetFingerprint());
}
TEST_F(GpgCoreTest, GenerateKeyED25519CV25519Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_ec");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("ecccc");
- keygen_info->SetAlgo("ed25519");
- keygen_info->SetNonExpired(true);
- keygen_info->SetNonPassPhrase(true);
-
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("cv25519");
- subkeygen_info->SetNonExpired(true);
- subkeygen_info->SetNonPassPhrase(true);
-
- auto [err, data_object] =
- GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeyWithSubkeySync(keygen_info, subkeygen_info);
+ auto p_info = QSharedPointer<KeyGenerateInfo>::create();
+ p_info->SetName("foo_ec");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("ecccc");
+
+ auto [found, algo] = KeyGenerateInfo::SearchPrimaryKeyAlgo("ed25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "ed25519");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(true);
+ p_info->SetNonPassPhrase(true);
+
+ auto s_info = QSharedPointer<KeyGenerateInfo>::create(true);
+
+ std::tie(found, algo) = KeyGenerateInfo::SearchSubKeyAlgo("cv25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "cv25519");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
+ s_info->SetNonPassPhrase(true);
+
+ auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
+ .GenerateKeyWithSubkeySync(p_info, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_TRUE(
@@ -255,10 +300,10 @@ TEST_F(GpgCoreTest, GenerateKeyED25519CV25519Test) {
ASSERT_EQ(key.GetPrimaryKeyLength(), 255);
ASSERT_EQ(key.GetExpireTime(), QDateTime::fromMSecsSinceEpoch(0));
- ASSERT_TRUE(key.IsHasCertificationCapability());
- ASSERT_TRUE(key.IsHasAuthenticationCapability());
- ASSERT_TRUE(key.IsHasEncryptionCapability());
- ASSERT_TRUE(key.IsHasSigningCapability());
+ ASSERT_TRUE(key.IsHasCertCap());
+ ASSERT_TRUE(key.IsHasAuthCap());
+ ASSERT_TRUE(key.IsHasEncrCap());
+ ASSERT_TRUE(key.IsHasSignCap());
ASSERT_FALSE(key.GetSubKeys()->empty());
ASSERT_EQ(key.GetSubKeys()->size(), 2);
@@ -270,36 +315,45 @@ TEST_F(GpgCoreTest, GenerateKeyED25519CV25519Test) {
ASSERT_EQ(subkey.GetKeyLength(), 255);
ASSERT_EQ(subkey.GetExpireTime(), QDateTime::fromMSecsSinceEpoch(0));
- ASSERT_FALSE(subkey.IsHasCertificationCapability());
- ASSERT_FALSE(subkey.IsHasAuthenticationCapability());
- ASSERT_TRUE(subkey.IsHasEncryptionCapability());
- ASSERT_FALSE(subkey.IsHasSigningCapability());
+ ASSERT_FALSE(subkey.IsHasCertCap());
+ ASSERT_FALSE(subkey.IsHasAuthCap());
+ ASSERT_TRUE(subkey.IsHasEncrCap());
+ ASSERT_FALSE(subkey.IsHasSignCap());
- ASSERT_TRUE(key.IsHasActualCertificationCapability());
- ASSERT_TRUE(key.IsHasActualAuthenticationCapability());
- ASSERT_TRUE(key.IsHasActualEncryptionCapability());
- ASSERT_TRUE(key.IsHasActualSigningCapability());
+ ASSERT_TRUE(key.IsHasActualCertCap());
+ ASSERT_TRUE(key.IsHasActualAuthCap());
+ ASSERT_TRUE(key.IsHasActualEncrCap());
+ ASSERT_TRUE(key.IsHasActualSignCap());
GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel).DeleteKey(fpr);
}
TEST_F(GpgCoreTest, GenerateKeyED25519NISTP256Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_ec2");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("ecccc");
- keygen_info->SetAlgo("ed25519");
- keygen_info->SetNonExpired(true);
- keygen_info->SetNonPassPhrase(true);
-
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("nistp256");
- subkeygen_info->SetNonExpired(true);
- subkeygen_info->SetNonPassPhrase(true);
-
- auto [err, data_object] =
- GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeyWithSubkeySync(keygen_info, subkeygen_info);
+ auto p_info = QSharedPointer<KeyGenerateInfo>::create();
+ p_info->SetName("foo_ec2");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("ecccc");
+
+ auto [found, algo] = KeyGenerateInfo::SearchPrimaryKeyAlgo("ed25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "ed25519");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(true);
+ p_info->SetNonPassPhrase(true);
+
+ auto s_info = QSharedPointer<KeyGenerateInfo>::create(true);
+
+ std::tie(found, algo) = KeyGenerateInfo::SearchSubKeyAlgo("nistp256");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "nistp256");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
+ s_info->SetNonPassPhrase(true);
+
+ auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
+ .GenerateKeyWithSubkeySync(p_info, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_TRUE(
@@ -321,10 +375,10 @@ TEST_F(GpgCoreTest, GenerateKeyED25519NISTP256Test) {
ASSERT_EQ(key.GetPrimaryKeyLength(), 255);
ASSERT_EQ(key.GetExpireTime(), QDateTime::fromMSecsSinceEpoch(0));
- ASSERT_TRUE(key.IsHasCertificationCapability());
- ASSERT_TRUE(key.IsHasAuthenticationCapability());
- ASSERT_TRUE(key.IsHasEncryptionCapability());
- ASSERT_TRUE(key.IsHasSigningCapability());
+ ASSERT_TRUE(key.IsHasCertCap());
+ ASSERT_TRUE(key.IsHasAuthCap());
+ ASSERT_TRUE(key.IsHasEncrCap());
+ ASSERT_TRUE(key.IsHasSignCap());
ASSERT_FALSE(key.GetSubKeys()->empty());
ASSERT_EQ(key.GetSubKeys()->size(), 2);
@@ -336,36 +390,45 @@ TEST_F(GpgCoreTest, GenerateKeyED25519NISTP256Test) {
ASSERT_EQ(subkey.GetKeyLength(), 256);
ASSERT_EQ(subkey.GetExpireTime(), QDateTime::fromMSecsSinceEpoch(0));
- ASSERT_FALSE(subkey.IsHasCertificationCapability());
- ASSERT_FALSE(subkey.IsHasAuthenticationCapability());
- ASSERT_TRUE(subkey.IsHasEncryptionCapability());
- ASSERT_FALSE(subkey.IsHasSigningCapability());
+ ASSERT_FALSE(subkey.IsHasCertCap());
+ ASSERT_FALSE(subkey.IsHasAuthCap());
+ ASSERT_TRUE(subkey.IsHasEncrCap());
+ ASSERT_FALSE(subkey.IsHasSignCap());
- ASSERT_TRUE(key.IsHasActualCertificationCapability());
- ASSERT_TRUE(key.IsHasActualAuthenticationCapability());
- ASSERT_TRUE(key.IsHasActualEncryptionCapability());
- ASSERT_TRUE(key.IsHasActualSigningCapability());
+ ASSERT_TRUE(key.IsHasActualCertCap());
+ ASSERT_TRUE(key.IsHasActualAuthCap());
+ ASSERT_TRUE(key.IsHasActualEncrCap());
+ ASSERT_TRUE(key.IsHasActualSignCap());
GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel).DeleteKey(fpr);
}
TEST_F(GpgCoreTest, GenerateKeyED25519BRAINPOOLP256R1Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_ec3");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("ecccc3");
- keygen_info->SetAlgo("ed25519");
- keygen_info->SetNonExpired(true);
- keygen_info->SetNonPassPhrase(true);
-
- auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true);
- subkeygen_info->SetAlgo("brainpoolp256r1");
- subkeygen_info->SetNonExpired(true);
- subkeygen_info->SetNonPassPhrase(true);
-
- auto [err, data_object] =
- GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeyWithSubkeySync(keygen_info, subkeygen_info);
+ auto p_info = QSharedPointer<KeyGenerateInfo>::create();
+ p_info->SetName("foo_ec3");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("ecccc3");
+
+ auto [found, algo] = KeyGenerateInfo::SearchPrimaryKeyAlgo("ed25519");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "ed25519");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(true);
+ p_info->SetNonPassPhrase(true);
+
+ auto s_info = QSharedPointer<KeyGenerateInfo>::create(true);
+
+ std::tie(found, algo) = KeyGenerateInfo::SearchSubKeyAlgo("brainpoolp256r1");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "brainpoolp256r1");
+ s_info->SetAlgo(algo);
+
+ s_info->SetNonExpired(true);
+ s_info->SetNonPassPhrase(true);
+
+ auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
+ .GenerateKeyWithSubkeySync(p_info, s_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_TRUE(
@@ -387,10 +450,10 @@ TEST_F(GpgCoreTest, GenerateKeyED25519BRAINPOOLP256R1Test) {
ASSERT_EQ(key.GetPrimaryKeyLength(), 255);
ASSERT_EQ(key.GetExpireTime(), QDateTime::fromMSecsSinceEpoch(0));
- ASSERT_TRUE(key.IsHasCertificationCapability());
- ASSERT_TRUE(key.IsHasAuthenticationCapability());
- ASSERT_TRUE(key.IsHasEncryptionCapability());
- ASSERT_TRUE(key.IsHasSigningCapability());
+ ASSERT_TRUE(key.IsHasCertCap());
+ ASSERT_TRUE(key.IsHasAuthCap());
+ ASSERT_TRUE(key.IsHasEncrCap());
+ ASSERT_TRUE(key.IsHasSignCap());
ASSERT_FALSE(key.GetSubKeys()->empty());
ASSERT_EQ(key.GetSubKeys()->size(), 2);
@@ -402,35 +465,40 @@ TEST_F(GpgCoreTest, GenerateKeyED25519BRAINPOOLP256R1Test) {
ASSERT_EQ(subkey.GetKeyLength(), 256);
ASSERT_EQ(subkey.GetExpireTime(), QDateTime::fromMSecsSinceEpoch(0));
- ASSERT_FALSE(subkey.IsHasCertificationCapability());
- ASSERT_FALSE(subkey.IsHasAuthenticationCapability());
- ASSERT_TRUE(subkey.IsHasEncryptionCapability());
- ASSERT_FALSE(subkey.IsHasSigningCapability());
+ ASSERT_FALSE(subkey.IsHasCertCap());
+ ASSERT_FALSE(subkey.IsHasAuthCap());
+ ASSERT_TRUE(subkey.IsHasEncrCap());
+ ASSERT_FALSE(subkey.IsHasSignCap());
- ASSERT_TRUE(key.IsHasActualCertificationCapability());
- ASSERT_TRUE(key.IsHasActualAuthenticationCapability());
- ASSERT_TRUE(key.IsHasActualEncryptionCapability());
- ASSERT_TRUE(key.IsHasActualSigningCapability());
+ ASSERT_TRUE(key.IsHasActualCertCap());
+ ASSERT_TRUE(key.IsHasActualAuthCap());
+ ASSERT_TRUE(key.IsHasActualEncrCap());
+ ASSERT_TRUE(key.IsHasActualSignCap());
GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel).DeleteKey(fpr);
}
TEST_F(GpgCoreTest, GenerateKeyNISTP256Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_4");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("nistp256");
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<KeyGenerateInfo>::create();
+ p_info->SetName("foo_4");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = KeyGenerateInfo::SearchPrimaryKeyAlgo("nistp256");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "nistp256");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
ASSERT_TRUE(data_object->Check<GpgGenerateKeyResult>());
@@ -451,36 +519,41 @@ TEST_F(GpgCoreTest, GenerateKeyNISTP256Test) {
ASSERT_EQ(key.GetPrimaryKeyLength(), 256);
ASSERT_GT(key.GetExpireTime(), QDateTime::currentDateTime());
- ASSERT_TRUE(key.IsHasCertificationCapability());
- ASSERT_TRUE(key.IsHasAuthenticationCapability());
- ASSERT_FALSE(key.IsHasEncryptionCapability());
- ASSERT_TRUE(key.IsHasSigningCapability());
+ ASSERT_TRUE(key.IsHasCertCap());
+ ASSERT_TRUE(key.IsHasAuthCap());
+ ASSERT_FALSE(key.IsHasEncrCap());
+ ASSERT_TRUE(key.IsHasSignCap());
- ASSERT_TRUE(key.IsHasActualCertificationCapability());
- ASSERT_TRUE(key.IsHasActualAuthenticationCapability());
- ASSERT_FALSE(key.IsHasActualEncryptionCapability());
- ASSERT_TRUE(key.IsHasActualSigningCapability());
+ ASSERT_TRUE(key.IsHasActualCertCap());
+ ASSERT_TRUE(key.IsHasActualAuthCap());
+ ASSERT_FALSE(key.IsHasActualEncrCap());
+ ASSERT_TRUE(key.IsHasActualSignCap());
GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
.DeleteKey(result.GetFingerprint());
}
TEST_F(GpgCoreTest, GenerateKeyED448Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_4");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("ed448");
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<KeyGenerateInfo>::create();
+ p_info->SetName("foo_4");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = KeyGenerateInfo::SearchPrimaryKeyAlgo("ed448");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "ed448");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
ASSERT_TRUE(data_object->Check<GpgGenerateKeyResult>());
@@ -501,36 +574,41 @@ TEST_F(GpgCoreTest, GenerateKeyED448Test) {
ASSERT_EQ(key.GetPrimaryKeyLength(), 448);
ASSERT_GT(key.GetExpireTime(), QDateTime::currentDateTime());
- ASSERT_TRUE(key.IsHasCertificationCapability());
- ASSERT_TRUE(key.IsHasAuthenticationCapability());
- ASSERT_FALSE(key.IsHasEncryptionCapability());
- ASSERT_TRUE(key.IsHasSigningCapability());
+ ASSERT_TRUE(key.IsHasCertCap());
+ ASSERT_TRUE(key.IsHasAuthCap());
+ ASSERT_FALSE(key.IsHasEncrCap());
+ ASSERT_TRUE(key.IsHasSignCap());
- ASSERT_TRUE(key.IsHasActualCertificationCapability());
- ASSERT_TRUE(key.IsHasActualAuthenticationCapability());
- ASSERT_FALSE(key.IsHasActualEncryptionCapability());
- ASSERT_TRUE(key.IsHasActualSigningCapability());
+ ASSERT_TRUE(key.IsHasActualCertCap());
+ ASSERT_TRUE(key.IsHasActualAuthCap());
+ ASSERT_FALSE(key.IsHasActualEncrCap());
+ ASSERT_TRUE(key.IsHasActualSignCap());
GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
.DeleteKey(result.GetFingerprint());
}
TEST_F(GpgCoreTest, GenerateKeySECP256K1Test) {
- auto keygen_info = SecureCreateSharedObject<GenKeyInfo>();
- keygen_info->SetName("foo_4");
- keygen_info->SetEmail("[email protected]");
- keygen_info->SetComment("hello gpgfrontend");
- keygen_info->SetAlgo("secp256k1");
- keygen_info->SetNonExpired(false);
- keygen_info->SetNonPassPhrase(true);
+ auto p_info = QSharedPointer<KeyGenerateInfo>::create();
+ p_info->SetName("foo_4");
+ p_info->SetEmail("[email protected]");
+ p_info->SetComment("hello gpgfrontend");
+
+ auto [found, algo] = KeyGenerateInfo::SearchPrimaryKeyAlgo("secp256k1");
+ ASSERT_TRUE(found);
+ ASSERT_EQ(algo.Id(), "secp256k1");
+ p_info->SetAlgo(algo);
+
+ p_info->SetNonExpired(false);
+ p_info->SetNonPassPhrase(true);
auto expire_time =
QDateTime::currentDateTime().addSecs(static_cast<qint64>(24 * 3600));
- keygen_info->SetExpireTime(expire_time);
- keygen_info->SetNonPassPhrase(false);
+ p_info->SetExpireTime(expire_time);
+ p_info->SetNonPassPhrase(false);
auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
- .GenerateKeySync(keygen_info);
+ .GenerateKeySync(p_info);
ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR);
ASSERT_EQ(data_object->GetObjectSize(), 1);
ASSERT_TRUE(data_object->Check<GpgGenerateKeyResult>());
@@ -551,15 +629,15 @@ TEST_F(GpgCoreTest, GenerateKeySECP256K1Test) {
ASSERT_EQ(key.GetPrimaryKeyLength(), 256);
ASSERT_GT(key.GetExpireTime(), QDateTime::currentDateTime());
- ASSERT_TRUE(key.IsHasCertificationCapability());
- ASSERT_TRUE(key.IsHasAuthenticationCapability());
- ASSERT_FALSE(key.IsHasEncryptionCapability());
- ASSERT_TRUE(key.IsHasSigningCapability());
+ ASSERT_TRUE(key.IsHasCertCap());
+ ASSERT_TRUE(key.IsHasAuthCap());
+ ASSERT_FALSE(key.IsHasEncrCap());
+ ASSERT_TRUE(key.IsHasSignCap());
- ASSERT_TRUE(key.IsHasActualCertificationCapability());
- ASSERT_TRUE(key.IsHasActualAuthenticationCapability());
- ASSERT_FALSE(key.IsHasActualEncryptionCapability());
- ASSERT_TRUE(key.IsHasActualSigningCapability());
+ ASSERT_TRUE(key.IsHasActualCertCap());
+ ASSERT_TRUE(key.IsHasActualAuthCap());
+ ASSERT_FALSE(key.IsHasActualEncrCap());
+ ASSERT_TRUE(key.IsHasActualSignCap());
GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel)
.DeleteKey(result.GetFingerprint());