diff options
Diffstat (limited to 'src/test/core/GpgCoreTestKeygen.cpp')
-rw-r--r-- | src/test/core/GpgCoreTestKeygen.cpp | 486 |
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()); |