diff options
Diffstat (limited to 'src/test/core')
-rw-r--r-- | src/test/core/GpgCoreTestBasicOpera.cpp | 4 | ||||
-rw-r--r-- | src/test/core/GpgCoreTestKeygen.cpp | 316 | ||||
-rw-r--r-- | src/test/core/GpgCoreTestSubkeygen.cpp | 166 |
3 files changed, 303 insertions, 183 deletions
diff --git a/src/test/core/GpgCoreTestBasicOpera.cpp b/src/test/core/GpgCoreTestBasicOpera.cpp index 2e675766..4a593532 100644 --- a/src/test/core/GpgCoreTestBasicOpera.cpp +++ b/src/test/core/GpgCoreTestBasicOpera.cpp @@ -171,7 +171,7 @@ TEST_F(GpgCoreTest, CoreSignVerifyNormalTest) { GpgBasicOperator::GetInstance().VerifySync(sign_out_buffer, GFBuffer()); ASSERT_EQ(CheckGpgError(err_0), GPG_ERR_NO_ERROR); - ASSERT_TRUE((data_object_0->Check<GpgVerifyResult>())); + ASSERT_TRUE((data_object_0->Check<GpgVerifyResult, GFBuffer>())); auto verify_result = ExtractParams<GpgVerifyResult>(data_object_0, 0); ASSERT_FALSE(verify_result.GetSignature().empty()); ASSERT_EQ(verify_result.GetSignature().at(0).GetFingerprint(), @@ -198,7 +198,7 @@ TEST_F(GpgCoreTest, CoreSignVerifyDetachTest) { GpgBasicOperator::GetInstance().VerifySync(sign_text, sign_out_buffer); ASSERT_EQ(CheckGpgError(err_0), GPG_ERR_NO_ERROR); - ASSERT_TRUE((data_object_0->Check<GpgVerifyResult>())); + ASSERT_TRUE((data_object_0->Check<GpgVerifyResult, GFBuffer>())); auto verify_result = ExtractParams<GpgVerifyResult>(data_object_0, 0); ASSERT_FALSE(verify_result.GetSignature().empty()); ASSERT_EQ(verify_result.GetSignature().at(0).GetFingerprint(), diff --git a/src/test/core/GpgCoreTestKeygen.cpp b/src/test/core/GpgCoreTestKeygen.cpp index 9197e18e..aa4de244 100644 --- a/src/test/core/GpgCoreTestKeygen.cpp +++ b/src/test/core/GpgCoreTestKeygen.cpp @@ -37,18 +37,41 @@ namespace GpgFrontend::Test { +TEST_F(GpgCoreTest, SearchPrimaryKeyAlgoTest) { + auto [find, algo] = GenKeyInfo::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] = GenKeyInfo::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<GenKeyInfo>::create(); + p_info->SetName("foo_0"); + p_info->SetEmail("[email protected]"); + p_info->SetComment("foobar"); + + auto [found, algo] = GenKeyInfo::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); @@ -84,22 +107,26 @@ TEST_F(GpgCoreTest, GenerateKeyRSA2048Test) { } 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<GenKeyInfo>::create(); + p_info->SetName("foo_1"); + p_info->SetEmail("[email protected]"); + p_info->SetComment("hello gpgfrontend"); + + auto [found, algo] = GenKeyInfo::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<GenKeyInfo>::create(); + p_info->SetName("foo_1"); + p_info->SetEmail("[email protected]"); + p_info->SetComment("hello gpgfrontend"); + + auto [found, algo] = GenKeyInfo::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>()); @@ -169,21 +200,26 @@ TEST_F(GpgCoreTest, GenerateKeyDSA2048Test) { } 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<GenKeyInfo>::create(); + p_info->SetName("foo_4"); + p_info->SetEmail("[email protected]"); + p_info->SetComment("hello gpgfrontend"); + + auto [found, algo] = GenKeyInfo::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>()); @@ -218,22 +254,31 @@ TEST_F(GpgCoreTest, GenerateKeyED25519Test) { } 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<GenKeyInfo>::create(); + p_info->SetName("foo_ec"); + p_info->SetEmail("[email protected]"); + p_info->SetComment("ecccc"); + + auto [found, algo] = GenKeyInfo::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<GenKeyInfo>::create(true); + + std::tie(found, algo) = GenKeyInfo::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( @@ -284,22 +329,31 @@ TEST_F(GpgCoreTest, GenerateKeyED25519CV25519Test) { } 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<GenKeyInfo>::create(); + p_info->SetName("foo_ec2"); + p_info->SetEmail("[email protected]"); + p_info->SetComment("ecccc"); + + auto [found, algo] = GenKeyInfo::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<GenKeyInfo>::create(true); + + std::tie(found, algo) = GenKeyInfo::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( @@ -350,22 +404,31 @@ TEST_F(GpgCoreTest, GenerateKeyED25519NISTP256Test) { } 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<GenKeyInfo>::create(); + p_info->SetName("foo_ec3"); + p_info->SetEmail("[email protected]"); + p_info->SetComment("ecccc3"); + + auto [found, algo] = GenKeyInfo::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<GenKeyInfo>::create(true); + + std::tie(found, algo) = GenKeyInfo::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( @@ -416,21 +479,26 @@ TEST_F(GpgCoreTest, GenerateKeyED25519BRAINPOOLP256R1Test) { } 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<GenKeyInfo>::create(); + p_info->SetName("foo_4"); + p_info->SetEmail("[email protected]"); + p_info->SetComment("hello gpgfrontend"); + + auto [found, algo] = GenKeyInfo::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>()); @@ -466,21 +534,26 @@ TEST_F(GpgCoreTest, GenerateKeyNISTP256Test) { } 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<GenKeyInfo>::create(); + p_info->SetName("foo_4"); + p_info->SetEmail("[email protected]"); + p_info->SetComment("hello gpgfrontend"); + + auto [found, algo] = GenKeyInfo::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>()); @@ -516,21 +589,26 @@ TEST_F(GpgCoreTest, GenerateKeyED448Test) { } 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<GenKeyInfo>::create(); + p_info->SetName("foo_4"); + p_info->SetEmail("[email protected]"); + p_info->SetComment("hello gpgfrontend"); + + auto [found, algo] = GenKeyInfo::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>()); diff --git a/src/test/core/GpgCoreTestSubkeygen.cpp b/src/test/core/GpgCoreTestSubkeygen.cpp index c4fe92b0..886a6f04 100644 --- a/src/test/core/GpgCoreTestSubkeygen.cpp +++ b/src/test/core/GpgCoreTestSubkeygen.cpp @@ -38,18 +38,22 @@ namespace GpgFrontend::Test { TEST_F(GpgCoreTest, GenerateSubkeyRSA2048Test) { - auto main_key = GpgKeyGetter::GetInstance().GetKey( + auto p_key = GpgKeyGetter::GetInstance().GetKey( "E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29"); - ASSERT_TRUE(main_key.IsGood()); + ASSERT_TRUE(p_key.IsGood()); - auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true); - subkeygen_info->SetAlgo("rsa"); - subkeygen_info->SetKeyLength(2048); - subkeygen_info->SetNonExpired(true); - subkeygen_info->SetNonPassPhrase(true); + auto s_info = QSharedPointer<GenKeyInfo>::create(true); + + auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("rsa2048"); + ASSERT_TRUE(found); + ASSERT_EQ(algo.Id(), "rsa2048"); + s_info->SetAlgo(algo); + + s_info->SetNonExpired(true); + s_info->SetNonPassPhrase(true); auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel) - .GenerateSubkeySync(main_key, subkeygen_info); + .GenerateSubkeySync(p_key, s_info); ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR); ASSERT_EQ(data_object->GetObjectSize(), 1); @@ -77,18 +81,22 @@ TEST_F(GpgCoreTest, GenerateSubkeyRSA2048Test) { } TEST_F(GpgCoreTest, GenerateSubkeyDSA2048Test) { - auto main_key = GpgKeyGetter::GetInstance().GetKey( + auto p_key = GpgKeyGetter::GetInstance().GetKey( "E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29"); - ASSERT_TRUE(main_key.IsGood()); + ASSERT_TRUE(p_key.IsGood()); + + auto s_info = QSharedPointer<GenKeyInfo>::create(true); - auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true); - subkeygen_info->SetAlgo("dsa"); - subkeygen_info->SetKeyLength(2048); - subkeygen_info->SetNonExpired(true); - subkeygen_info->SetNonPassPhrase(true); + auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("dsa2048"); + ASSERT_TRUE(found); + ASSERT_EQ(algo.Id(), "dsa2048"); + s_info->SetAlgo(algo); + + s_info->SetNonExpired(true); + s_info->SetNonPassPhrase(true); auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel) - .GenerateSubkeySync(main_key, subkeygen_info); + .GenerateSubkeySync(p_key, s_info); ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR); ASSERT_EQ(data_object->GetObjectSize(), 1); @@ -116,18 +124,22 @@ TEST_F(GpgCoreTest, GenerateSubkeyDSA2048Test) { } TEST_F(GpgCoreTest, GenerateSubkeyELG2048Test) { - auto main_key = GpgKeyGetter::GetInstance().GetKey( + auto p_key = GpgKeyGetter::GetInstance().GetKey( "E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29"); - ASSERT_TRUE(main_key.IsGood()); + ASSERT_TRUE(p_key.IsGood()); + + auto s_info = QSharedPointer<GenKeyInfo>::create(true); - auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true); - subkeygen_info->SetAlgo("elg"); - subkeygen_info->SetKeyLength(2048); - subkeygen_info->SetNonExpired(true); - subkeygen_info->SetNonPassPhrase(true); + auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("elg2048"); + ASSERT_TRUE(found); + ASSERT_EQ(algo.Id(), "elg2048"); + s_info->SetAlgo(algo); + + s_info->SetNonExpired(true); + s_info->SetNonPassPhrase(true); auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel) - .GenerateSubkeySync(main_key, subkeygen_info); + .GenerateSubkeySync(p_key, s_info); ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR); ASSERT_EQ(data_object->GetObjectSize(), 1); @@ -155,17 +167,22 @@ TEST_F(GpgCoreTest, GenerateSubkeyELG2048Test) { } TEST_F(GpgCoreTest, GenerateSubkeyED25519Test) { - auto main_key = GpgKeyGetter::GetInstance().GetKey( + auto p_key = GpgKeyGetter::GetInstance().GetKey( "E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29"); - ASSERT_TRUE(main_key.IsGood()); + ASSERT_TRUE(p_key.IsGood()); + + auto s_info = QSharedPointer<GenKeyInfo>::create(true); - auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true); - subkeygen_info->SetAlgo("ed25519"); - subkeygen_info->SetNonExpired(true); - subkeygen_info->SetNonPassPhrase(true); + auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("ed25519"); + ASSERT_TRUE(found); + ASSERT_EQ(algo.Id(), "ed25519"); + s_info->SetAlgo(algo); + + s_info->SetNonExpired(true); + s_info->SetNonPassPhrase(true); auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel) - .GenerateSubkeySync(main_key, subkeygen_info); + .GenerateSubkeySync(p_key, s_info); ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR); ASSERT_EQ(data_object->GetObjectSize(), 1); @@ -193,17 +210,22 @@ TEST_F(GpgCoreTest, GenerateSubkeyED25519Test) { } TEST_F(GpgCoreTest, GenerateSubkeyCV25519Test) { - auto main_key = GpgKeyGetter::GetInstance().GetKey( + auto p_key = GpgKeyGetter::GetInstance().GetKey( "E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29"); - ASSERT_TRUE(main_key.IsGood()); + ASSERT_TRUE(p_key.IsGood()); + + auto s_info = QSharedPointer<GenKeyInfo>::create(true); - auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true); - subkeygen_info->SetAlgo("cv25519"); - subkeygen_info->SetNonExpired(true); - subkeygen_info->SetNonPassPhrase(true); + auto [found, algo] = GenKeyInfo::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) - .GenerateSubkeySync(main_key, subkeygen_info); + .GenerateSubkeySync(p_key, s_info); ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR); ASSERT_EQ(data_object->GetObjectSize(), 1); @@ -231,16 +253,21 @@ TEST_F(GpgCoreTest, GenerateSubkeyCV25519Test) { } TEST_F(GpgCoreTest, GenerateSubkeyNISTP256Test) { - auto main_key = GpgKeyGetter::GetInstance().GetKey( + auto p_key = GpgKeyGetter::GetInstance().GetKey( "E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29"); - ASSERT_TRUE(main_key.IsGood()); + ASSERT_TRUE(p_key.IsGood()); + + auto s_info = QSharedPointer<GenKeyInfo>::create(true); + + auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("nistp256"); + ASSERT_TRUE(found); + ASSERT_EQ(algo.Id(), "nistp256"); + s_info->SetAlgo(algo); - auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true); - subkeygen_info->SetAlgo("nistp256"); - subkeygen_info->SetNonExpired(true); + s_info->SetNonExpired(true); auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel) - .GenerateSubkeySync(main_key, subkeygen_info); + .GenerateSubkeySync(p_key, s_info); ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR); ASSERT_EQ(data_object->GetObjectSize(), 1); @@ -268,16 +295,21 @@ TEST_F(GpgCoreTest, GenerateSubkeyNISTP256Test) { } TEST_F(GpgCoreTest, GenerateSubkeyBRAINPOOLP256R1Test) { - auto main_key = GpgKeyGetter::GetInstance().GetKey( + auto p_key = GpgKeyGetter::GetInstance().GetKey( "E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29"); - ASSERT_TRUE(main_key.IsGood()); + ASSERT_TRUE(p_key.IsGood()); + + auto s_info = QSharedPointer<GenKeyInfo>::create(true); + + auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("brainpoolp256r1"); + ASSERT_TRUE(found); + ASSERT_EQ(algo.Id(), "brainpoolp256r1"); + s_info->SetAlgo(algo); - auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true); - subkeygen_info->SetAlgo("brainpoolp256r1"); - subkeygen_info->SetNonExpired(true); + s_info->SetNonExpired(true); auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel) - .GenerateSubkeySync(main_key, subkeygen_info); + .GenerateSubkeySync(p_key, s_info); ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR); ASSERT_EQ(data_object->GetObjectSize(), 1); @@ -305,16 +337,21 @@ TEST_F(GpgCoreTest, GenerateSubkeyBRAINPOOLP256R1Test) { } TEST_F(GpgCoreTest, GenerateSubkeyX448Test) { - auto main_key = GpgKeyGetter::GetInstance().GetKey( + auto p_key = GpgKeyGetter::GetInstance().GetKey( "E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29"); - ASSERT_TRUE(main_key.IsGood()); + ASSERT_TRUE(p_key.IsGood()); - auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true); - subkeygen_info->SetAlgo("x448"); - subkeygen_info->SetNonExpired(true); + auto s_info = QSharedPointer<GenKeyInfo>::create(true); + + auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("x448"); + ASSERT_TRUE(found); + ASSERT_EQ(algo.Id(), "x448"); + s_info->SetAlgo(algo); + + s_info->SetNonExpired(true); auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel) - .GenerateSubkeySync(main_key, subkeygen_info); + .GenerateSubkeySync(p_key, s_info); ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR); ASSERT_EQ(data_object->GetObjectSize(), 1); @@ -342,16 +379,21 @@ TEST_F(GpgCoreTest, GenerateSubkeyX448Test) { } TEST_F(GpgCoreTest, GenerateSubkeySECP256K1Test) { - auto main_key = GpgKeyGetter::GetInstance().GetKey( + auto p_key = GpgKeyGetter::GetInstance().GetKey( "E87C6A2D8D95C818DE93B3AE6A2764F8298DEB29"); - ASSERT_TRUE(main_key.IsGood()); + ASSERT_TRUE(p_key.IsGood()); + + auto s_info = QSharedPointer<GenKeyInfo>::create(true); + + auto [found, algo] = GenKeyInfo::SearchSubKeyAlgo("secp256k1"); + ASSERT_TRUE(found); + ASSERT_EQ(algo.Id(), "secp256k1"); + s_info->SetAlgo(algo); - auto subkeygen_info = SecureCreateSharedObject<GenKeyInfo>(true); - subkeygen_info->SetAlgo("secp256k1"); - subkeygen_info->SetNonExpired(true); + s_info->SetNonExpired(true); auto [err, data_object] = GpgKeyOpera::GetInstance(kGpgFrontendDefaultChannel) - .GenerateSubkeySync(main_key, subkeygen_info); + .GenerateSubkeySync(p_key, s_info); ASSERT_EQ(CheckGpgError(err), GPG_ERR_NO_ERROR); ASSERT_EQ(data_object->GetObjectSize(), 1); |